Linux&Androidでのメモリ使用方法の表示


1. procrank (only for Android)
統計をとるために/proc/pid/mapsから情報を読み出します.ソースコード:/system/extras/procrank
メモリ消費量:VSS/RSS/PSS/USS•VSS-Virtual Set Size仮想消費メモリ(共有ライブラリで使用されるメモリを含む)•RSS-Resident Set Size物理メモリ(共有ライブラリで使用されるメモリを含む)を実際に使用•PSS-Proportional Set Size実際に使用される物理メモリ(共有ライブラリで使用されるメモリの割合)•USS-Unique Set Sizeプロセスが独自に使用する物理メモリ(共有ライブラリが使用しないメモリ)
2. cat/proc/pid/status
VmPeak:プロセスが占有する最大の仮想メモリサイズVmSizeを表す:プロセスの現在の仮想メモリサイズVmLckを表す:ロックされたメモリサイズVmHWMを表す:プロセスが占有する物理メモリのピークVmRSSを表す:プロセスが現在占有している物理メモリのサイズ(procrankのRSSと)を表すVmData:プロセスデータセグメントのサイズを表すVmStk:プロセススタックセグメントのサイズを表すVmExe:プロセスコードのサイズを表すVmLib:プロセスが使用する共有ライブラリのサイズを表すVmPTE:プロセスページ項目のサイズを表す
 
3.例
shell@android:/ $ procrank                                                     
  PID    Vss       Rss      Pss      Uss  cmdline
16044  247156K   94580K   81361K   79708K  com.android.pingpang
16698  242440K   66436K   45516K   42064K  com.android.yujia

shell@android:/ $ cat /proc/16044/status    
VmPeak:	  703476 kB
VmSize:	  550940 kB
VmLck:	       0 kB
VmHWM:	  101500 kB
VmRSS:	   94140 kB
VmData:	  102016 kB
VmStk:	     136 kB
VmExe:	       8 kB
VmLib:	   37968 kB
VmPTE:	     346 kB
VmSwap:	       0 kB
Threads:	22

shell@android:/ $ cat /proc/16698/status                                       
VmPeak:	  693460 kB
VmSize:	  516736 kB
VmLck:	       0 kB
VmHWM:	   71204 kB
VmRSS:	   66060 kB
VmData:	   58960 kB
VmStk:	     136 kB
VmExe:	       8 kB
VmLib:	   46568 kB
VmPTE:	     344 kB
VmSwap:	       0 kB
Threads:	26

 
参照先:http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html