たとえば、いまRedmineが動いていて、その使用メモリを知りたいときは次のようにする。
(-e 1p
は1行目を表示するために指定)
$ ps aux | sed -n -e 1p -e '/redmine/p' USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND systemd+ 279491 0.0 0.3 213296 160188 ? Ssl 13:43 0:11 /usr/local/bin/ruby bin/rails server -b 0.0.0.0
VSZが仮想メモリまで含んだメモリ使用量、RSSが実メモリ使用量。 単位はKB。
単位については次のように知ることができる。
上記プロセスのPIDは279491なので、次のようにするとプロセスのメモリ情報が得られる。
$ sudo cat /proc/279491/statm 53324 40047 2488 2 0 50155 0
最初の数値がVSZ、次の数値がRSSに相当する。 単位はページ数。
参照: Man page of PROC
1ページの容量はgetconf PAGE_SIZE
で得ることができる。
$ getconf PAGE_SIZE
4096
ここでは4096なので、先のstatmの結果は次のようになり、psの結果と一致する。
- VSS: 53324×4096=218415104。218415104÷1024=213296KB。
- RSS: 40047×4096=164032512。164032512÷1024=160188KB。