亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

西瓜視頻播放位置其他是哪里,西瓜視頻的緩存文件在哪里


作為計(jì)算機(jī)程序運(yùn)行最重要的資源之一,在運(yùn)行過程中需要合理分配和回收資源 。不合理的內(nèi)存占用會(huì)導(dǎo)致用戶應(yīng)用運(yùn)行卡頓、ANR和黑屏,甚至導(dǎo)致用戶應(yīng)用發(fā)生 。

OOM(內(nèi)存不足)崩潰 。作為用戶廣泛使用的產(chǎn)品,Tik Tok需要在各種機(jī)器資源上保持出色的流暢度和穩(wěn)定性,內(nèi)存優(yōu)化是必須重視的關(guān)鍵環(huán)節(jié) 。

本文結(jié)合Tik Tok Java OOM內(nèi)存優(yōu)化的治理實(shí)踐,嘗試與大家分享Tik Tok團(tuán)隊(duì)對Java內(nèi)存優(yōu)化的一些思考,包括工具建設(shè)和優(yōu)化方法論 。

#抖音 Java OOM 背景

在Tik Tok記憶特殊處理之前,我們梳理了整體記憶指數(shù)的絕對值和相對崩潰,發(fā)現(xiàn)比例非常高 。再加上去年春節(jié)期間記憶相關(guān)指標(biāo)再次飆升至歷史新高,整體記憶問題相當(dāng)嚴(yán)峻,必須進(jìn)行專項(xiàng)治理 。Tik Tok這邊將通過早期歸因、工具建設(shè)和為期兩個(gè)月的記憶特別管理進(jìn)行整合 。

Java OOM優(yōu)化了80% 。

#Java OOM Top 堆棧歸因

在優(yōu)化Tik Tok的Java內(nèi)存治理之前,我們首先根據(jù)平臺(tái)上報(bào)的棧異常對當(dāng)前的OOM進(jìn)行了歸因,主要分為以下幾類:


西瓜視頻播放位置其他是哪里,西瓜視頻的緩存文件在哪里

文章插圖


1.OOM分類 。

其中,pthread_create問題約占總數(shù)的50%,Java堆內(nèi)存超限超過40%,其余為少量fd超限 。在…之中

pthread_create和fd數(shù)量不足是本機(jī)內(nèi)存限制導(dǎo)致的Java層崩潰 。我們也針對這部分內(nèi)存問題做了針對性的優(yōu)化,主要包括:

*線程收斂、監(jiān)控 。

*自動(dòng)修復(fù)螺紋疊漏 。

* FD泄漏監(jiān)測 。

*虛擬內(nèi)存監(jiān)控和優(yōu)化 。

* Tik Tok 64位特別程序 。

治理之后,pthread_create的問題降低到0.02以下,這方面的治理實(shí)踐將在下一篇文章Native in Tik Tok中討論 。

請期待內(nèi)存治理實(shí)踐中的詳細(xì)介紹 。本文主要討論Java堆內(nèi)存管理 。

#堆內(nèi)存治理思路

從Java堆內(nèi)存溢出的分類來看,主要有兩類問題:

1\. 堆內(nèi)存單次分配過大/多次分配累計(jì)過大 。

觸發(fā)這類問題的原因是由于數(shù)據(jù)異常導(dǎo)致單個(gè)內(nèi)存分配過大、超限,部分是StringBuilder 。

拼接的累計(jì)尺寸過大等等 。這類問題的解決方法很簡單,問題就出在當(dāng)前棧上 。

2\. 堆內(nèi)存累積分配觸頂.

這類問題的問題棧會(huì)比較分散,在任何內(nèi)存分配場景下都可能觸發(fā),那些高頻內(nèi)存分配節(jié)點(diǎn)的概率會(huì)比較高,比如Bitmap分配內(nèi)存 。這種OOM

根本原因是積累的內(nèi)存太多,當(dāng)前的棧只是壓垮駱駝的最后一根稻草,不是問題的根源 。因此,我們需要分析整體內(nèi)存分配,找出不合理的內(nèi)存使用情況(如內(nèi)存泄漏、大對象,過度小對象,大圖等) 。).

#工具建設(shè)

#工具思路

鋒利的工具很管用 。從上述內(nèi)存管理思路來看,該工具需要解決的主要問題是分析整體內(nèi)存分配,發(fā)現(xiàn)不合理的內(nèi)存使用情況(如內(nèi)存泄漏、大對象,過度小對象,等) 。).

我們從兩個(gè)維度構(gòu)建工具:線下和線上:

#線下

線下是第一考慮,內(nèi)存泄漏問題可以在開發(fā)測試時(shí)前發(fā)現(xiàn) 。業(yè)界主流的工具也是這個(gè)思路,比如安卓Studio Memory 。

剖析器、泄漏檢測器、內(nèi)存分析器 。

我們基于線下.的leakkarine核心庫
ng>設(shè)計(jì)了一自動(dòng)分析上報(bào)內(nèi)存泄露的工具,主要流程如下:

西瓜視頻播放位置其他是哪里,西瓜視頻的緩存文件在哪里

文章插圖

圖 2.線下自動(dòng)分析流程


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時(shí)就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: