日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安卓内存分析

發(fā)布時(shí)間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓内存分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

判斷RAM是否不足

物理內(nèi)存就是系統(tǒng)硬件提供的內(nèi)存大小,是真正的內(nèi)存,相對(duì)于物理內(nèi)存,在linux下還有一個(gè)虛擬內(nèi)存的概念,虛擬內(nèi)存就是為了滿足物理內(nèi)存的不足而提出的策略,它是利用磁盤空間虛擬出的一塊邏輯內(nèi)存,用作虛擬內(nèi)存的磁盤空間被稱為交換空間(Swap Space)。

系統(tǒng)優(yōu)先使用物理內(nèi)存2,如果

SWAP free 很小說明虛擬內(nèi)存幾乎耗盡

swappiness參數(shù)值可設(shè)置范圍在0到100之間。 此參數(shù)值越低,就會(huì)讓Linux系統(tǒng)盡量少用swap分區(qū),多用物理內(nèi)存;參數(shù)值越高就是反過來,使內(nèi)核更多的去使用swap空間。Ubuntu系統(tǒng)swappiness默認(rèn)值為60,表示的含義可以這樣來理解,當(dāng)剩余物理內(nèi)存低于40%(40=100-60)時(shí),開始使用swap分區(qū)。

130|G8142:/ $ cat /proc/sys/vm/swappiness 100

若是你觀察Swap 中的使用量一直在增長,或Swap used 為一個(gè)很大的值。那咱們基本就能肯定在現(xiàn)有的情況下內(nèi)存出現(xiàn)問題。

adb shell dmesg

[ 367.044922] lowmemorykiller: Killing 'le.smartcharger' (16156), adj 500,\x0a to free 30152kB on behalf of 'kswapd0' (149) because cache 127124kB is below limit 129024kB for oom_score_adj 300\x0a Free memory is 64144kB above reserved.\x0a Free CMA is 0kB\x0a Total reserve is 67076kB\x0a Total free pages is 71784kB\x0a Total file cache is 266924kB\x0a Total zcache is 0kB\x0a GFP mask is 0x24000c0

為了kswapd0 kill le.smartcharger,釋放內(nèi)存

LowMemoryKiller是一種根據(jù)內(nèi)存閾值級(jí)別觸發(fā)的內(nèi)存回收的機(jī)制,在系統(tǒng)可用內(nèi)存較低時(shí),就會(huì)選擇性殺死進(jìn)程的策略,相對(duì)OOMKiller,更加靈活。

LowMemoryKiller是一種根據(jù)內(nèi)存閾值級(jí)別觸發(fā)的內(nèi)存回收的機(jī)制,在系統(tǒng)可用內(nèi)存較低時(shí),就會(huì)選擇性殺死進(jìn)程的策略,相對(duì)OOMKiller,更加靈活。

查看LowMemoryKiller閾值,留個(gè)數(shù)字代表六種進(jìn)程的閾值(foreground(前臺(tái)進(jìn)程)、visible(可見進(jìn)程)、secondary?server(次要服務(wù))、hidden(后臺(tái)進(jìn)程)、content?provider(內(nèi)容供應(yīng)節(jié)點(diǎn))、empty(空進(jìn)程))

adb shell cat /sys/module/lowmemorykiller/parameters/minfree
18432,23040,27648,32256,80296,105640

以上數(shù)字是page,1 page =4k

72MB? 90MB 108MB? 216MB 315MB 412MB

查看進(jìn)程adj值

G8142:/ # ps -A | grep home
u0_a73?????? 17192? 1334 2549212 186148 SyS_epoll_wait 78d5886e18 S com.sonymobile.home

G8142:/ # cat /proc/17192/oom_adj
0(前臺(tái)應(yīng)用)

cache 127124kB is below limit 129024kB for oom_score_adj

adj分級(jí)


adb shell dumpsys meminfo

Total PSS by process:1,822,879K: me.empirical.android.application.fillmemory (pid 4774 / activities)184,707K: system (pid 1761)178,099K: cn.kuwo.player (pid 30251 / activities)82,799K: com.android.systemui (pid 2065 / activities)82,508K: com.autonavi.minimap (pid 4940)62,671K: surfaceflinger (pid 887)62,577K: com.google.android.gms (pid 30684)60,254K: com.sonymobile.home (pid 25241 / activities)49,377K: com.google.android.googlequicksearchbox:search (pid 25181)40,010K: com.google.android.gms.persistent (pid 23913)34,436K: com.baidu.appsearch (pid 32238)29,319K: cn.kuwo.player:QS (pid 4411)26,922K: cn.kuwo.player:service (pid 30397)26,064K: com.android.chrome:sandboxed_process0 (pid 4876)24,093K: com.sonyericsson.textinput.chinese (pid 24577)22,566K: com.scee.psxandroid (pid 5114)21,962K: com.autonavi.minimap:locationservice (pid 5578)21,127K: media.codec (pid 1347)21,077K: com.android.phone (pid 2201)20,977K: android.hardware.graphics.composer@2.1-service (pid 841)20,711K: com.glgjing.stark (pid 32681)18,618K: com.spencerstudios.ramlogger (pid 2236 / activities)18,104K: logd (pid 634)17,697K: cn.kuwo.player:pushservice (pid 30891)16,321K: com.google.android.googlequicksearchbox:interactor (pid 25162)15,409K: com.android.chrome:sandboxed_process0 (pid 32715)14,930K: com.baidu.appsearch:bdservice_v1 (pid 4479)

adb shell ps -A --sort=-rss 按RSS倒序排序

G8142:/ $ ps -A --sort=-rss USER PID PPID VSZ RSS WCHAN ADDR S NAME u0_a201 18429 1322 5025684 1293032 0 0 R me.empirical.android.application.fillmemory u0_a203 18443 1323 2746396 539492 0 0 S com.autonavi.minimap system 1761 1322 2753392 268156 0 0 S system_server u0_a202 18189 1323 2098752 176720 0 0 S cn.kuwo.player u0_a61 2065 1322 2479628 76576 0 0 S com.android.systemui u0_a31 7488 1322 2714796 70224 0 0 S com.google.android.gms u0_a203 18530 1323 1798436 69024 0 0 S com.autonavi.minimap:locationservice u0_a65 7595 1322 2503104 63908 0 0 S com.google.android.googlequicksearchbox:search u0_a181 20152 1323 1859244 62632 0 0 S com.baidu.appsearch u0_a73 7439 1322 2547736 60520 0 0 S com.sonymobile.home u0_a203 19407 1323 1772448 55268 0 0 S com.autonavi.minimap:sandboxed_privilege_process0 u0_a31 7409 1322 2486368 52668 0 0 S com.google.android.gms.persistent u0_a202 18654 1323 1797076 50084 0 0 S cn.kuwo.player:pushservice system 14233 1322 2369756 49936 0 0 S com.android.settings u0_a202 18335 1323 1836772 48024 0 0 S cn.kuwo.player:service u0_a197 18456 1322 2267160 45024 0 0 S com.spencerstudios.ramlogger u0_a202 18673 1323 1766404 42236 0 0 S cn.kuwo.player:QS u0_a202 18734 1323 1764328 42064 0 0 S cn.kuwo.player:lelinkps u0_a76 7562 1323 1744660 41244 0 0 S com.sonyericsson.textinput.chinese u0_i59 19989 2112 1634652 39320 0 0 S com.android.chrome:sandboxed u0_a56 20524 1323 1709640 37872 0 0 S com.sonymobile.indeviceintelligence:service u0_i60 20075 2112 1654292 36500 0 0 S com.android.chrome:sandboxed radio 2201 1322 2335916 35304 0 0 S com.android.phone u0_a181 20169 1323 1714668 34972 0 0 S com.baidu.appsearch:GuardService u0_a31 7574 1322 2436916 27508 0 0 S com.google.android.gms.unstable system 8744 1322 2251672 27148 0 0 S com.sonymobile.phoneusage system 3042 1322 2256588 26404 0 0 S com.sonyericsson.devicemonitor u0_a31 6924 1322 2258596 22976 0 0 S com.google.process.gapps u0_a65 8800 1322 2366552 22948 0 0 S com.google.android.googlequicksearchbox:interactor system 3059 1322 2257940 22808 0 0 S com.sonymobile.googleanalyticsproxy u0_i57 19632 2112 1568220 22648 0 0 S com.android.chrome:sandboxed nfc 3017 1322 2273432 22516 0 0 S com.android.nfc radio 9642 1322 2244924 22016 0 0 S com.qualcomm.qcrilmsgtunnel system 8296 1322 2248820 21644 0 0 S com.yzy.supercleanmaster u0_a140 10551 1322 2239612 20712 0 0 S com.android.smspush u0_a67 5584 1322 2294400 20320 0 0 S com.sonymobile.assist:realtime u0_a166 7394 1322 2248880 20240 0 0 S com.sonymobile.runtimeskinning.core system 8883 1322 2239640 19708 0 0 S com.sonyericsson.mtp.extension.backuprestore logd 634 1 46960 17928 0 0 S logd root 1322 1 2166424 17636 0 0 S zygote64

PS 命令結(jié)果中各列的含義:

USER 進(jìn)程所屬用戶
PID 進(jìn)程ID
%CPU 進(jìn)程占用CPU百分比
%MEM 進(jìn)程占用內(nèi)存百分比
VSZ 虛擬內(nèi)存占用大小 單位:kb(killobytes)
RSS 實(shí)際內(nèi)存占用大小 單位:kb(killobytes)
TTY 終端類型
STAT 進(jìn)程狀態(tài)
START 進(jìn)程啟動(dòng)時(shí)刻
TIME 進(jìn)程運(yùn)行時(shí)長
COMMAND 啟動(dòng)進(jìn)程的命令


內(nèi)存不足導(dǎo)致頻繁GC

2021-08-30 22:32:51.822 29525-29535/com.autonavi.minimap I/zygote: NativeAllocBackground concurrent copying GC freed 41687(2MB) AllocSpace objects, 21(17MB) LOS objects, 46% free, 28MB/52MB, paused 352us total 105.028ms 2021-08-30 22:33:05.852 29525-29535/com.autonavi.minimap I/zygote: Background concurrent copying GC freed 41488(2MB) AllocSpace objects, 22(23MB) LOS objects, 46% free, 27MB/51MB, paused 444us total 105.340ms 2021-08-30 22:33:46.517 1761-1771/system_process I/zygote64: Background concurrent copying GC freed 425827(18MB) AllocSpace objects, 26(536KB) LOS objects, 42% free, 26MB/46MB, paused 3.217ms total 121.362ms

I/art : Explicit concurrent mark sweep GC freed 104710(7MB) AllocSpace objects, 21(416KB) LOS objects,33% free, 25MB/38MB, paused 1.230ms total 67.216ms

I/art: <GC觸發(fā)原因> <GC名稱> <釋放對(duì)象個(gè)數(shù)>(<釋放字節(jié)數(shù)>) AllocSpace Objects,<釋放大對(duì)象個(gè)數(shù)>(<釋放大對(duì)象字節(jié)數(shù)>) <堆統(tǒng)計(jì)> LOS objects, <暫停時(shí)間>
GC觸發(fā)原因:Explicit
GC名稱:concurrent mark sweep GC
釋放對(duì)象個(gè)數(shù):104710
釋放字節(jié)數(shù):7M
釋放大對(duì)象個(gè)數(shù):21
釋放大對(duì)象字節(jié)數(shù):416KB
堆統(tǒng)計(jì):堆空閑內(nèi)存為33%,已用內(nèi)存:25M, 總內(nèi)存總:38M
暫停時(shí)間:GC暫停時(shí)長:1.230ms,GC總時(shí)長:67.216ms


  • VSS?- Virtual Set Size 虛擬耗用內(nèi)存(包含共享庫占用的內(nèi)存)
  • RSS?- Resident Set Size 實(shí)際使用物理內(nèi)存(包含共享庫占用的內(nèi)存)
  • PSS?- Proportional Set Size 實(shí)際使用的物理內(nèi)存(比例分配共享庫占用的內(nèi)存)
  • USS?- Unique Set Size 進(jìn)程獨(dú)自占用的物理內(nèi)存(不包含共享庫占用的內(nèi)存)

一般來說內(nèi)存占用大小有如下規(guī)律:VSS >= RSS >= PSS >= USS













Overview

本篇文章的目的是為了幫助理解從多種工具導(dǎo)出的關(guān)于Linux進(jìn)程真實(shí)占用內(nèi)存的報(bào)告。

Android?有一個(gè)叫做?procrank?(/system/xbin/procrank)的工具,它可以從高到低地列出Linux進(jìn)程的內(nèi)存占用量 。 每個(gè)進(jìn)程按大小可以分為 VSS, RSS, PSS, 和USS.

為了簡化描述,以下內(nèi)存將以“頁”的形式來表示,而不是“字節(jié)”。像我們的Linux系統(tǒng)內(nèi)存管理中最低級(jí)別的頁有4096 字節(jié)。

VSS?(reported as VSZ from ps) 是一個(gè)進(jìn)程總共可訪問的地址空間。其大小還包括了可能不在RAM中的內(nèi)存(比如雖然malloc分配了空間,但尚未寫入)。?VSS 很少被用于判斷一個(gè)進(jìn)程的真實(shí)內(nèi)存使用量。

RSS?是一個(gè)進(jìn)程在RAM中真實(shí)存儲(chǔ)的總內(nèi)存。但是RSS還是可能會(huì)造成誤導(dǎo),因?yàn)樗鼉H僅表示該進(jìn)程所使用的所有共享庫的大小,它不管有多少個(gè)進(jìn)程使用該共享庫,該共享庫僅被加載到內(nèi)存一次。所以RSS并不能準(zhǔn)確反映單進(jìn)程的內(nèi)存占用情況。?

PSS?與RSS不同,它按比例表示使用的共享庫,?例如:如果有三個(gè)進(jìn)程都使用了一個(gè)共享庫,共占用了30頁內(nèi)存。那么PSS將認(rèn)為每個(gè)進(jìn)程分別占用該共享庫10頁的大小。 PSS是非常有用的數(shù)據(jù),因?yàn)橄到y(tǒng)中所有進(jìn)程的PSS都相加的話,就剛好反映了系統(tǒng)中的總共占用的內(nèi)存。 而當(dāng)一個(gè)進(jìn)程被銷毀之后, 其占用的共享庫那部分比例的PSS,將會(huì)再次按比例分配給余下使用該庫的進(jìn)程。這樣PSS可能會(huì)造成一點(diǎn)的誤導(dǎo),因?yàn)楫?dāng)一個(gè)進(jìn)程被銷毀后,PSS不能準(zhǔn)確地表示返回給全局系統(tǒng)的內(nèi)存(the memory returned to the overall system)。

USS?是一個(gè)進(jìn)程所占用的私有內(nèi)存。即該進(jìn)程獨(dú)占的內(nèi)存。?USS是非常非常有用的數(shù)據(jù),因?yàn)樗从沉诉\(yùn)行一個(gè)特定進(jìn)程真實(shí)的邊際成本(增量成本)。當(dāng)一個(gè)進(jìn)程被銷毀后,USS是真實(shí)返回給系統(tǒng)的內(nèi)存。當(dāng)進(jìn)程中存在一個(gè)可疑的內(nèi)存泄露時(shí),USS是最佳觀察數(shù)據(jù)。

總結(jié)

以上是生活随笔為你收集整理的安卓内存分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久草福利资源站 | 少妇2做爰bd在线意大利堕落 | 亚洲欧美综合视频 | 日本在线免费看 | 中文字幕第四页 | 国产色网站 | 日韩色图视频 | 福利视频h | 欧美一区二区三区激情 | 狠狠撸在线 | 一本一道久久a久久精品综合 | 亚洲精品激情视频 | 久久久精品免费看 | 欧美黄色免费看 | 少妇又色又紧又爽又刺激视频 | av在线小说 | 三年大全国语中文版免费播放 | 肉色欧美久久久久久久免费看 | 久久精品视频无码 | 男人天堂影院 | 色狠狠综合网 | 成人久久毛片 | 18禁免费观看网站 | 亚洲欧美日韩国产成人精品影院 | 理论片一级 | 中国特级毛片 | 在线观看av大片 | 国产亚洲成av人在线观看导航 | 亚洲区 欧美区 | 制服师生在线 | 男男做的视频 | 丁香六月色| 三年中文免费观看大全动漫 | 嫩草影院黄 | 超碰免费成人 | 精品人妻aV中文字幕乱码色欲 | www.xxxxx日本| 超碰免费公开在线 | 久久久久久久国产视频 | 猛1被调教成公厕尿便失禁网站 | 欧美日韩三区 | 午夜视频久久久 | 成人福利在线 | 亚洲综合一区二区三区 | 卡一卡二av | 成人免费观看在线视频 | 男人插女人的网站 | 亚洲不卡视频在线 | 91蝌蚪少妇| 亚洲国产久 | 精品国产色 | 日日摸夜夜爽 | 好色视频tv | 亚洲男人天堂网 | 久久久久久久国产精品毛片 | 午夜不卡福利 | 中文字幕一区二区三区精品 | 三级网站国产 | 欧美日韩国产免费一区二区三区 | 国产传媒第一页 | 啊灬啊灬啊灬秀婷 | 日日夜夜噜 | 欧美日本免费 | 大桥未久av一区二区三区中文 | 免费高清欧美大片在线观看 | 特级西西444www高清大胆 | 国产永久免费视频 | 久久精品国产一区二区 | 少妇毛片 | 玉米地疯狂的吸允她的奶视频 | 国产视频999 | 午夜极品视频 | 日本狠狠干 | 亚洲免费av网站 | 欧美videos另类精品 | 中文字幕av无码一区二区三区 | 香蕉色视频 | 国产在视频线精品视频 | 开心激情播播网 | 国产又粗又猛又爽又黄的视频小说 | 黄色在线免费观看网站 | 口述3p做爰全过程 | 成人动漫在线播放 | 美女涩涩视频 | 又粗又大又硬毛片免费看 | 蜜桃视频久久一区免费观看入口 | 中文字幕一区二区免费 | 网站在线看 | 精品成人网 | 国产精品一区二区自拍 | 国产亚洲精品久久久久四川人 | 粉嫩av一区二区三区 | 亚洲色图一区二区 | 秋霞福利片| 日韩精彩视频在线观看 | 免费av手机在线观看 | 日剧再来一次第十集 | 日韩一区二区在线免费观看 | 国产精品手机视频 |