2011/11/17

Android端末のメモリ状態を取得する

Android端末のメモリ状態を取得する方法です。
# cat /proc/meminfo
MemTotal:         516316 kB
MemFree:          314328 kB
Buffers:              16 kB
Cached:            93892 kB
SwapCached:            0 kB
Active:           114636 kB
Inactive:          72664 kB
Active(anon):     103988 kB
Inactive(anon):        0 kB
Active(file):      10648 kB
Inactive(file):    72664 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         93420 kB
Mapped:            54552 kB
Slab:               4440 kB
SReclaimable:       1320 kB
SUnreclaim:         3120 kB
PageTables:         3932 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      258156 kB
Committed_AS:    1430652 kB
VmallocTotal:     450560 kB
VmallocUsed:       18524 kB
VmallocChunk:     430084 kB

/proc/meminfoで利用可能な物理メモリの容量は下記の式より求めることができます。
MemFree+Inactive

MemFree :システム全体で利用できる物理メモリの空き容量
Inactive:解放可能な物理メモリの容量

次はプロセス毎の物理メモリ使用量を調べる方法です。
# top
  PID PR CPU% S  #THR     VSS     RSS PCY UID      Name
 1337  0   4% R     1    928K    392K  fg root     top
   43  0   1% S    17  17472K    532K  fg root     /sbin/adbd

プロセス別の使用中物理メモリ容量は「RSS」の値を参考にします。


以上です。