Linuxモニタリングツール pmap, IPTraf, ntop を使ってみた
このエントリを読んでいたら、知らないツールがあったので使ってみました。
今回は、Ubuntu 11.10で使用してみましたが、RedHat系でも同様に使用することができると思います。
pmap
pmap はプロセス毎のメモリ使用状況を表示します。
引数にPIDを付与して実行します。
(インストール)
$ sudo aptitude install procps
(実行例)
$ sudo pmap 533 533: /usr/sbin/sshd -D 00007f49e1137000 48K r-x-- /lib/x86_64-linux-gnu/libnss_files-2.13.so 00007f49e1143000 2044K ----- /lib/x86_64-linux-gnu/libnss_files-2.13.so 00007f49e1342000 4K r---- /lib/x86_64-linux-gnu/libnss_files-2.13.so 00007f49e1343000 4K rw--- /lib/x86_64-linux-gnu/libnss_files-2.13.so 00007f49e1344000 40K r-x-- /lib/x86_64-linux-gnu/libnss_nis-2.13.so 00007f49e134e000 2048K ----- /lib/x86_64-linux-gnu/libnss_nis-2.13.so 00007f49e154e000 4K r---- /lib/x86_64-linux-gnu/libnss_nis-2.13.so 00007f49e154f000 4K rw--- /lib/x86_64-linux-gnu/libnss_nis-2.13.so 00007f49e1550000 32K r-x-- /lib/x86_64-linux-gnu/libnss_compat-2.13.so 00007f49e1558000 2044K ----- /lib/x86_64-linux-gnu/libnss_compat-2.13.so 00007f49e1757000 4K r---- /lib/x86_64-linux-gnu/libnss_compat-2.13.so 00007f49e1758000 4K rw--- /lib/x86_64-linux-gnu/libnss_compat-2.13.so 00007f49e1759000 92K r-x-- /lib/x86_64-linux-gnu/libresolv-2.13.so 00007f49e1770000 2048K ----- /lib/x86_64-linux-gnu/libresolv-2.13.so 00007f49e1970000 4K r---- /lib/x86_64-linux-gnu/libresolv-2.13.so 00007f49e1971000 4K rw--- /lib/x86_64-linux-gnu/libresolv-2.13.so 00007f49e1972000 8K rw--- [ anon ] (中略) ffffffffff600000 4K r-x-- [ anon ] total 49684K
上記は sshd のメモリ使用状況です。
d オプションで、Offset や Device 付きで表示されます。
$ sudo pmap -d 533 533: /usr/sbin/sshd -D Address Kbytes Mode Offset Device Mapping 00007f49e1137000 48 r-x-- 0000000000000000 0fc:00000 libnss_files-2.13.so 00007f49e1143000 2044 ----- 000000000000c000 0fc:00000 libnss_files-2.13.so 00007f49e1342000 4 r---- 000000000000b000 0fc:00000 libnss_files-2.13.so 00007f49e1343000 4 rw--- 000000000000c000 0fc:00000 libnss_files-2.13.so 00007f49e1344000 40 r-x-- 0000000000000000 0fc:00000 libnss_nis-2.13.so (中略) ffffffffff600000 4 r-x-- 0000000000000000 000:00000 [ anon ] mapped: 49684K writeable/private: 740K shared: 0K
x オプションで、より詳細な情報が表示されます。
$ sudo pmap -x 533 533: /usr/sbin/sshd -D Address Kbytes RSS Dirty Mode Mapping 00007f49e1137000 0 16 0 r-x-- libnss_files-2.13.so 00007f49e1143000 0 0 0 ----- libnss_files-2.13.so 00007f49e1342000 0 4 4 r---- libnss_files-2.13.so 00007f49e1343000 0 4 4 rw--- libnss_files-2.13.so 00007f49e1344000 0 20 0 r-x-- libnss_nis-2.13.so (中略) ffffffffff600000 0 0 0 r-x-- [ anon ] ---------------- ------ ------ ------ total kB 49684 2792 572
pmap は、管理者権限で実行しないと値が取得できません。
$ pmap 533 533: /usr/sbin/sshd -D total 0K
IPTraf
IPTraf はネットワークトラフィックモニタリングツールです。
リアルタイムでネットワークトラフィック状況が確認できます。
(インストール)
$ sudo aptitude install iptraf
(実行例)
管理者権限で iptraf コマンドを実行します。
何かキーを押します。
メニューが表示されるので、モニタリングしたい項目を選択します。
IP traffice monitor の All interfaces を選択すると、パケットの送受信状況がリアルタイムで表示されます。
ntop
ntopはネットワークトラフィック状況をウェブブラウザで確認することができるツールです。
モニタリング設定などをウェブブラウザから行えるようです。*1
(インストール)
Apacheのインストールは割愛します。
$ sudo aptitude install ntop
インストール中に、管理者画面へアクセスするためのパスワードを設定します。
インストールが完了すると、ntopがデーモンとして起動します。
(設定)
デフォルトでは、eth0 のみをモニタリング対象としているので、モニタリングしたいインタフェースを追加します。
また、デフォルトではポート番号 3000 でモニタリング画面へアクセスできるようになっているので、適当なポート番号に変更します。
今回は、3030 でアクセスするように設定しました。
このあたりの設定は、ウェブブラウザベースでもできるようです。
$ sudo vi /var/lib/ntop/init.cfg INTERFACES="lo,eth0,eth1" # モニタリングしたいインタフェースを記述する $ sudo vi /etc/default/ntop GETOPT="-n 0 -w 3030" # w オプションでポート番号を指定する
ntop を再起動します。
$ sudo /etc/init.d/ntop restart
(実行例)
ウェブブラウザで、 http://hostname:3030/ にアクセスします。
サマリ表示とか、
グラフ表示とかでモニタリングできます。
http://www.thegeekstuff.com/2011/12/linux-performance-monitoring-tools/
procps - Home Page
IPTraf - An IP Network Monitor
ntopng – ntop
*1:ブラウザから設定できると知らず、テキストベースで設定しました。