Linuxでプロセスごとのメモリ使用量を調べるコマンド
1.topを実行して 次のコマンドをする
shift+m メモリ使用量が多いもの順
shift+t 実行時間が長い順
shift+n プロセスID順
shift+a 新しいタスク順
shift+p cpuの使用時間率の長いもの順
説明:
VIRT (Virtual Image ):プロセスの仮想メモリの使用量
VRTはプロセスのコード、データ、ライブラリ、スワップアウトしたページ、メモリマップファイルの内,まだ使用されたいないものの合計であるわけで
、全てがメモリを指しているわけではない。
RES (Resident Memory):プロセスの物理メモリの使用量
RESは実際にプロセスに利用されているデータの合総計を示している。
SHR (Shared Memory):プロセスの共有メモリ量
ライブラリなど他のアプリケーションからも利用される可能性のあるメモリの総計である。
2.[root@startnews24 ~]$ ps aux |grep nginx|awk '{print $5,$6}’
8292 356
23848 796
24560 2060
107452 936
説明:
RSS:固定メモリ使用量 VSZ:仮想メモリ使用量
3.[root@startnews24 ~]$ ps -e -o “pid,comm,args,pcpu,rsz,vsz"|grep nginx
4539 nginx nginx: master process /usr/ 0.0 796 23848
4540 nginx nginx: worker process 0.0 2060 24560
30275 grep grep nginx 0.0 944 107456
説明:
RSZ:実メモリ使用量 VSZ:仮想メモリ使用量
4.PID=`ps -ef|grep nginx`
cat /proc/$PID/status|grep “VmSize" //メモリの使用量を確認
例 [root@startnews24 ~]$ ps -ef|grep nginx
nginx 2210 1 0 2013 ? 00:00:00 /usr/local/sbin/fcgiwrap
root 4539 1 0 Feb03 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody 4540 4539 0 Feb03 ? 00:09:39 nginx: worker process
root 30280 30241 0 21:16 pts/0 00:00:00 grep nginx
[root@startnews24 ~]$ cat /proc/2210/status|grep “VmSize"
VmSize: 8292 kB
[root@startnews24 ~]$ cat /proc/4539/status|grep “VmSize"
VmSize: 23848 kB