iOS性能優化實踐:頭條抖音如何實現OOM崩潰率下降50%+

iOS OOM 崩潰在生產環境中的歸因一直是困擾業界已久的疑難問題,字節跳動旗下的頭條、抖音等產品也面臨同樣的問題。
在字節跳動性能與穩定性保障團隊的研發實踐中,我們自研了一款基於內存快照技術並且可應用於生產環境中的 OOM 歸因方案——線上 Memory Graph。基於此方案,3 個月內頭條抖音 OOM 崩潰率下降 50%+。
本文主要分享下該解決方案的技術背景,技術原理以及使用方式,旨在爲這個疑難問題提供一種新的解決思路。

OOM 崩潰背景介紹

OOM

OOM 其實是Out Of Memory的簡稱,指的是在 iOS 設備上當前應用因爲內存佔用過高而被操作系統強制終止,在用戶側的感知就是 App 一瞬間的閃退,與普通的 Crash 沒有明顯差異。但是當我們在調試階段遇到這種崩潰的時候,從設備設置->隱私->分析與改進中是找不到普通類型的崩潰日誌,只能夠找到Jetsam開頭的日誌,這種形式的日誌其實就是 OOM 崩潰之後系統生成的一種專門反映內存異常問題的日誌。那麼下一個問題就來了,什麼是Jetsam

Jetsam

Jetsam是 iOS 操作系統爲了控制內存資源過度使用而採用的一種資源管控機制。不同於MacOSLinuxWindows等桌面操作系統,出於性能方面的考慮,iOS 系統並沒有設計內存交換空間的機制,所以在 iOS 中,如果設備整體內存緊張的話,系統只能將一些優先級不高或佔用內存過大的進程直接終止掉。

原文鏈接:【https://www.infoq.cn/article/ox7u3YMWIWzaMt1Vgm7m】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章