先放总结:对于系统的tmpfs,其为共享内存分配,对其的使用,尽量当缓存使用,使用完后及时删除,尽量存储小文件。
背景:
出现卡屏后,第一时间通常是:dumpsys meminfo
[11:29:22]Total RAM: 3,596,420K (status critical)
[11:29:22] Free RAM: 2,022,660K ( 0K cached pss + 1,890,164K cached kernel + 132,496K free)
[11:29:22] Used RAM: 3,580,421K (1,034,693K used pss + 2,545,728K kernel)
[11:29:22] Lost RAM: -2,006,661K
[11:29:22] Tuning: 192 (large 512), oom 322,560K, restore limit 107,520K (high-end-gfx)
发现kernel占用了约2.5G,哇,吓人。
分析:
1、实际上dumpsys meminfo中 Used RAM下的kernel部分的大小: Shmem + SUnreclaim + VmallocUsed + PageTables + KernelStack。 但是这部分的统计比实际占用要多,主要在VmallocUsed的统计。
更多dumpsys meminfo的信息可以查看此链接: