Android内存中的RSS、PSS、USS

您所在的位置:网站首页 pss是什么药 Android内存中的RSS、PSS、USS

Android内存中的RSS、PSS、USS

2024-02-20 04:19| 来源: 网络整理| 查看: 265

在dumpsys meminfo中经常能看到以下指标:

dumpsys meminfo

可以看到有PSS的指标。而使用ps时,有时候还能看到RSS,USS。那这些指标代表什么意思呢?

计算内存足迹

首先,我们得知道kernel会追踪系统中所有的内存页面的内存分配。

Pages used by different processes

在计算app使用了多少内存时,系统需要统计共享页面(shared pages)。App在访问同一个service或者library的时候会共享内存页面。比如,Google地图和一个游戏app可能会共享一个定位服务。这使得在决定每个app独占多少内存时变得十分困难。

Pages shared by two apps (middle) 因此在为一个app计算内存足迹时,可以使用以下任意指标。 Resident Set Size(RSS):app使用的任意内存页面数量,包括shared 和 non-shared pages. Proportional Set Size(PSS):app使用的non-shared pages,以及使用的shared page的平均值。比如,如果三个进程共享3MB,则认为每个进程平均占用1MB。也就是按比例的(Proportional)。 Unique Set Size(USS):app使用的non-shared pages,shared pages被排除在外。 PSS在操作系统想知道所有进程使用了多少内存时是十分有用的。但在计算PSS时由于区分哪部分被共享,因此比较耗时。RSS的话不需要区分shared和non-shared pages的差异,因此计算起来更快。同时在追踪内存分配变化时会显得比较实用。最后,可以使用RSS-USS得出共享部分占用的内存大小,如果USS较小而计算得出来的差值很大,那么可以认为共享部分占用的内存过大了。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3