1. 程式人生 > >關於查看進程所占用物理內存的問題

關於查看進程所占用物理內存的問題

conf 規律 視頻 rss pro 需要 htm pmap tps

關於查看進程所占用物理內存的問題

一般查看進程所占物理內存的方法有:
1) top
其中的RES(其實就是RSS) 和SHR(就是本進程中共享庫等占用的總大小,不取平均時)列。

2)ps
其中ps或者新版本android中ps -A顯示
其中的RSS

3)pmap
新版本的android支持pmap命令
pmap -x 進程號
其中的
PSS和swap列。
swap是交換到zram或者磁盤的物理內存大小。

需要註意的是:
Terms
VSS- Virtual Set Size 虛擬耗用內存(包含共享庫占用的內存)
RSS- Resident Set Size 實際使用物理內存(包含共享庫占用的內存)
PSS- Proportional Set Size 實際使用的物理內存(比例分配共享庫占用的內存)

USS- Unique Set Size 進程獨自占用的物理內存(不包含共享庫占用的內存)
一般來說內存占用大小有如下規律:VSS >= RSS >= PSS >= USS

另外android以前使用
MALLOC_IMPL = dlmalloc
來切換dlmalloc和jemalloc。沒有定義MALLOC_IMPL宏時,默認是jemalloc

android新版本,例如android O,不能再定義MALLOC_IMPL了,否則lunch時報錯。而改用:
MALLOC_SVELTE = true 來disable tcache to configure jemalloc for low-memory。

另外我的相關培訓視頻請看:
歡迎觀看我發布的各個課程: https://edu.51cto.com/lecturer/8896847.html

關於查看進程所占用物理內存的問題