mpstat
mpstat
マルチプロセッサ環境においては、「mpstat」コマンドを使用することでそれぞれのCPUの使用状況を確認することが可能です。「mpstat」コマンドはsysstatパッケージに含まれます。
[root@linux ~]# mpstat -P ALL 1 2 | ||||||||||
Linux 2.6.9-11.ELsmp (host1) 03/28/2006 | ||||||||||
| ||||||||||
03:31:51 | PM | CPU | %user | %nice | %system | %iowait | %irq | %soft | %idle | intr/s |
03:31:52 | PM | all | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100.00 | 1018.81 |
03:31:52 | PM | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100.00 | 991.09 | |
03:31:52 | PM | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 99.01 | 27.72 | |
| ||||||||||
Average: | | CPU | %user | %nice | %system | %iowait | %irq | %soft | %idle | intr/s |
Average: | | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100.00 | 1031.89 | |
Average: | | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100.00 | 795.68 | |
Average: | | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 99.67 | 236.54 | |
free
メモリの使用状況を確認するためには、freeコマンドを使用します。
[root@host1 ~]# free | ||||||
total | used | free | shared | buffers | cached | |
Mem: | 1291980 | 998940 | 293040 | 0 | 89356 | 772016 |
-/+ buffers/cache: | 137568 | 1154412 | ||||
Swap: | 2040244 | 0 | 2040244 | |||
Linuxではメモリに空きがあれば、空きメモリをバッファキャッシュかページキャッシュとして使用していきます。そのため「free」コマンドで 1行目に表示される空きメモリサイズはキャッシュの分を差し引いて表示しているため、少なくみえますが、この現象はメモリリークなどではなく、Linux として問題ない動作であることに注意してください。
システムにおいて実際に使用しているメモリサイズは2行目「-/+ buffers/cache:」のusedに表示される値となります。
上記の例ではスワップ領域(Swap)を使用していませんが、スワップイン/アウトが発生した場合には、ハードディスクへのアクセスが発生するため パフォーマンスに影響をおよぼします。従ってスワップ領域(Swap)の使用率が高い場合には、メモリの増設などを検討することになります。
pmap
各プロセスの詳細なメモリ使用状況を確認するためには、「pmap」コマンドを使用します。
[root@host1 ~]# pmap -d 8359 | |||||
8359: smbd | |||||
Address | Kbytes | Mode | Offset | Device | Mapping |
: | |||||
b7ffe000 | 1224 | r-x-- | 00000000b7ffe000 | 000:00000 | libc-2.3.4.so |
bfec6000 | 16 | r---- | 00000000bfec6000 | 000:00000 | libc-2.3.4.so |
mapped: 9808K writeable/private: 1740K shared: 64KB | |||||
次回は
今回は、CPUとメモリに関する情報の集め方について解説しました。この2つはパフォーマンスには大きく関わる部分であり、処理不足が懸念される場合は、まずはこの2つを調べてみてください。
引き続き次回もシステム情報を取得するコマンドについて解説しますが、I/Oに関する情報やシステム状態です。
