個人的メモ。以前apacheがよく応答無しになるので調べてみました -その1(コマンド)- » という記事を書いているときに
$ ps aux|grep httpd apache 8864 0.5 8.3 460776 42488 ? S 20:47 0:07 /usr/sbin/httpd -k start apache 8950 0.7 10.0 469560 51004 ? S 21:01 0:05 /usr/sbin/httpd -k start apache 9002 0.4 7.1 455688 36284 ? S 21:12 0:00 /usr/sbin/httpd -k start apache 9007 5.2 12.3 481952 63160 ? S 21:12 0:03 /usr/sbin/httpd -k start apache 9009 2.1 11.0 475200 56208 ? S 21:12 0:01 /usr/sbin/httpd -k start apache 9013 2.4 9.7 468736 49932 ? S 21:12 0:01 /usr/sbin/httpd -k start apache 9020 0.0 0.9 428148 4964 ? S 21:13 0:00 /usr/sbin/httpd -k start
というコマンドでapacheのプロセスの状態、それからapacheが使用している仮想/物理メモリ量を調べていました。psコマンドの6番目が物理メモリ使用量で、この項目を合計するとapache全体が使っている物理メモリの使用量が計算できます。計算機持ってきて計算すればいいんですが、ちょっとめんどくさい。
というときにawkというコマンドを使えば、簡単に6番目の項目が集計できます。
$ ps aux|grep httpd|awk '{sum += $6} END {print sum}' 304040
本格的にapacheの状態を調べる時はそれようのツールなどを使ったほうがいいと思いますが、ざっと調べる時はps aux+計算でも良いし。上のコマンドをコピペするとさくっと集計できるから、その手軽さが便利です。
以下のページを参考にしました。awkには他にも色んな機能があるので、興味ある方はどうぞ。perlの簡単版という感じの言語です。
awk sed 入門