#!/bin/sh mem=0 #メモリ量 bef=0 #beforeの略のつもり res=0 #結果 # 仮にapache(httpd)のメモリ量を取得する場合 while [ 1 ] do for n in `/bin/ps aux | awk '/httpd/ { print $6 }'` do mem=`expr $mem + $n` done res=`expr ${mem} - ${bef}` # メモリ量($mem)と前回との差分($res)を表示 echo `date "+%F %T (${mem}) -> ${res}"` bef=$mem mem=0 # 1秒ごとに処理 sleep 1; doneこれを、apache_memorycheck.shとか名前をつけて
$ chmod +x apache_memorycheck.shして実行すれば 1秒ごとにapacheが使っているメモリ量と、1秒前との差分を表示できます!
$ ps axuした結果の「RSS」の部分がプロセスが確保している物理メモリ量なので、それをawkを使って加算して計算しています。
ちなみに「VSZ」は仮想メモリ量です。(プロセス起動時にとりあえず確保される)
以上でぇぇえぇえす。
0 件のコメント:
コメントを投稿