ramdump 中的memory统计

0. 前言

ramdump是指某个时刻系统或者子系统发生crash等异常,系统将内存中的数据通过一定的方式保存下来,相当于一个系统内存快照,用以开发者离线分析系统异常问题。

ramdump 工具中有很多内存统计的脚本,本文逐一剖析内存相关的脚本,涉及脚本如下:

脚本名称 dump文件名称 说明
memusage.py memory.txt

1. memusage.py

该脚本统计的信息会写到 memory.txt 文件中。

来看下统计了哪些信息:

Total RAM: 2,716,180kB
Total free memory: 54,324kB(2.0%)
Slab reclaimable: 69,868kB(2.6%)
Slab unreclaimable: 195,680kB(7.2%)
Total Slab memory: 265,548kB(9.8%)
Total SHMEM (PAGECACHE): 90,300kB(3.3%)
Total SHMEM (SWAP): 212kB(0.0%)

TOP 3 swapped SHMEM files are:
Address_space 0xffffff803ec32d30 Allocated 13 pages
file name:  /dev/ashmem/Trans ImageData
Address_space 0xffffff800b2ac460 Allocated 6 pages
file name:  /dev/ashmem/Trans ImageData
Address_space 0xffffff803ec37960 Allocated 6 pages
file name:  /dev/ashmem/Trans ImageData

Task name             PID          RSS in kB         SWAP in kB   ADJ
m.ohos.launcher      1433      283,520(10.4%)       12,676(0.5%)   400
m.ohos.systemui      1406      165,088(6.1%)       25,992(1.0%)  -800
com.ohos.callui     10310      176,892(6.5%)            0(0.0%)     1
m.ohos.contacts      7746      139,204(5.1%)           12(0.0%)   400
com.ohos.camera     17189      124,844(4.6%)            0(0.0%)     0
com.ohos.mms        13071      115,536(4.3%)           12(0.0%)   400
foundation           1027      110,608(4.1%)        3,224(0.1%) -1000
ard:inputMethod      1465      106,788(3.9%)        6,464(0.2%)   400
appspawn              277      110,432(4.1%)            0(0.0%) -1000
数据名称 说明
Total RAM 统计全局变量 _totalram_pages
Total free memory 统计NR_FREE_PAGES,以及占total 的百分比
Slab reclaimable 统计NR_SLAB_RECLAIMABLE,以及占 total 的百分比,Kernel5.10 以上的版本字段名称有所变化
Slab unreclaimable 统计 NR_SLAB_RECLAIMABLE,以及占 total 的百分比,Kernel5.10 以上的版本字段名称有所变化
Total Slab memory 统计总的 slab 内存,上面两者之和
Total SHMEM (PAGECACHE) 统计NR_SHMEM,以及占 total 的百分比
Total SHMEM (SWAP) 统计 shmem 进入 swap 的内存,这些信息都保存在 shmem_swaplist 中
TOP 3 swapped SHMEM files 上面统计信息之后,会将 TOP 3 swapped SHMEM files 列举出来
所有进程信息 统计进程的name、PID、rss、swap 和 adj

你可能感兴趣的:(#,Linux内存管理,ramdump,memory,slab,ion,vmalloc)