2.7性能モニタリング


2.7性能モニタリング
2.7.1 cpu使用状況のモニタリング——uptimeコマンド
説明:現在の時間、システムがどのくらい実行されているか、現在のログインユーザー数、およびシステムの平均負荷を印刷します.
[root@instructor etc]# uptime 
 13:11:15 up  1:26,  4 users,  load average: 0.00, 0.00, 0.00

現在のシステム時間は13時11分で、システムはすでに1時間26分稼働しており、現在4人のユーザーがログインしており、CPU負荷はそれぞれ最近の1分、5分、15分の負荷状況を示している.なお、ここでの負荷は、単位時間帯においてCPU待ち行列の中で平均してどれだけのプロセスが待っているかを示し、待ちのプロセス数が多ければ多いほど、CPUが忙しいことを示す.
 
2.7.2メモリおよびインタラクティブパーティションの使用状況を監視する——freeコマンド
説明:システムメモリの表示とパーティション情報の交換
使用法:free[-b|-k|-m]
オプション:-b|-k|-m出力容量の単位を指定します.それぞれByte、KB、MBです.
[root@instructor ~]# free -m
             total       used       free     shared    buffers     cached
Mem:        992        774        218         0      44        384
-/+ buffers/cache:         344        648
Swap:      1023          0       1023

 
Linuxは、電源を入れた後にメモリの一部を抽出し、bufferとcacheに分けていつでもプロセスに提供します.
以上の出力情報のうち、Mem 1行のtotalはメモリ総容量992を表す.userdは、メモリ内の774をbufferとcacheに分割するシステムを表す.freeは、メモリの総容量からbufferとcacheの合計を差し引いた残りの容量218を表す.bufferは、現在のbufferを表す残りの容量が44である.Cacheは、現在のcacheを表す残りの容量が384である.(MB)
2行目のuserdはbufferとcacheが現在344を使用していることを表します.freeはbufferとcacheの総残容量プラスメモリが分割されていない残容量の和を表す.648=44+384+218で、この値はシステム内のメモリが使用されていない実際の容量です.
第3の動作は、totalが交換パーティション容量1023を表し、usedが0を表し、freeが残りの交換パーティション1023を表す.
 
2.7.3ディスクの使用状況を監視する——dfコマンド
df
説明:システムディスク領域の使用量情報の生成
使用法:df[オプション]...
オプション:-h人間的な方法で容量情報を表示
-iディスクinode使用量情報の表示
-Tファイルシステムタイプを表示する
 
2.7.4ネットワークの使用状況を監視する——ifconfigとnetstatコマンド
1. ifconfig
ifconfigコマンドは、NICインタフェース情報を表示することができ、LinuxではイーサネットカードがethXとして一般的に識別され、第1のイーサネットカードがeth 0、第2のブロックがeth 1である.また、netstatコマンドを使用して、サーバが開いているポート情報とネットワーク接続状態を表示するのが一般的です.
[root@instructor ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:55:D7:44  
          inet addr:192.168.0.254  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe55:d744/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2938 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1652 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:289956 (283.1 KiB)  TX bytes:220381 (215.2 KiB)

 
このネットワークカードのIPアドレスは192.168.0.254、ブロードキャストアドレスは192.168.0.255、サブネットマスクは255.255.255.255.0で、システムが起動してから今まで2938個のパケットを受信し、1652個のパケットを送信した.コンピュータは合計283.1 KiBデータを受信し、合計215.2 KiBデータを送信した.
 
2. netstat
説明:ネットワーク接続、ルーティングテーブル、ネットワークインタフェース統計などの情報を印刷する
使用法:netstat[オプション]
オプション:-s各種プロトコルデータ統計を表示
-nホスト、プロトコル、ユーザ等の名称情報の代わりにデジタル形式のIP、ポート番号、ユーザIDを用いる
-pプロセス名および対応するプロセスID番号を表示
-lリスニング中のshocketインタフェース情報のみ表示
-u udp接続情報の表示
-t tcp接続情報の表示
[root@instructor ~]# netstat -nutlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address     Foreign Address    State       PID/Program name   
tcp     0     0    0.0.0.0:37480         0.0.0.0:*     LISTEN      -                   
tcp     0     0    0.0.0.0:875           0.0.0.0:*     LISTEN      2315/rpc.rquotad

 
2.7.5プロセスの使用状況を監視する——psとtopコマンド
1. ps
説明:現在のプロセス情報の表示
使用法:psコマンドのバージョンが多く、UNIX、BSD、GNU Linuxなど多くの文法の種類があります.
標準構文フォーマット:
[root@instructor ~]# ps -e 
  PID TTY          TIME     CMD
  1	 ?     	  00:00:03    init
  2	 ?     	  00:00:00   kthreadd
[root@instructor ~]# ps -ef 
UID        PID  PPID  C  STIME   TTY          TIME		 CMD
root       1     0    0  13:02	   ?      00:00:03       	/sbin/init
root       2     0    0  13:02	   ?       00:00:00     	[kthreadd]

 
BSD構文フォーマット:
[root@instructor ~]# ps -ax 
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
  PID TTY      STAT   TIME COMMAND
    1  ?        Ss      0:03   /sbin/init
    2  ?        S       0:00  [kthreadd]
[root@instructor ~]# ps -axu
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER    PID %CPU %MEM   VSZ   RSS  TTY   STAT  START   TIME COMMAND
root       1    0.0  0.1       19356  1564  ?      Ss   13:02     0:03  /sbin/init
root       2    0.0  0.0         0     0    ?      S    13:02     0:00  [kthreadd]
root       3    0.0  0.0         0     0    ?      S    13:02     0:00  [migration/0]

 
UIDまたはUSERはプロセスの実行ユーザーを表し、PIDはプロセスの唯一の番号であり、PPIDは親プロセスID番号であり、%CPUはプロセスのCPU占有率を表し、%MEMはプロセスのメモリ占有率を表し、VSZはプロセスが使用する仮想メモリサイズ(KB)を表し、RSSはプロセスが使用する真のメモリサイズを表し、TTYは端末であり、STIMEまたはSTARTはプロセス起動時間を表し、STATはプロセス状態(D:中断不可プロセス、R:実行中プロセス、S:睡眠中プロセス、T:停止または追跡されたプロセス、X:死んだプロセス、Z:ゾンビプロセス)を表し、TIMEはプロセスがCPUの総時間を占有することを表し、CMDまたはCOMMANDはプロセスの命令を表す.
2. top
説明:プロセス情報の動的表示
オプション:-d topリフレッシュ間隔、デフォルト3秒
-p指定PIDのプロセス情報の表示
[root@instructor ~]# top
top - 16:23:59 up  3:21,  4 users,  load average: 0.00, 0.00, 0.00
Tasks: 192 total,   2 running, 190 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1016672k total,   796296k used,   220376k free,    48324k buffers
Swap:  1048568k total,        0k used,  1048568k free,   394828k cached
 
PID USER     PR  NI  VIRT  RES  SHR  S  %CPU %MEM    TIME+  COMMAND                                                    
20  root      20   0     0    0    0   S   0.3     0.0      0:10.10    ata/0                                                       
204  root       20   0     0    0    0   S   0.3     0.0      0:07.79    scsi_eh_0

 
デフォルトではCPU使用率で並べ替えられ、入力Mはメモリ使用率で並べ替えることができ、入力Nはプロセス番号で並べ替えることができ、入力zは色をハイライト表示することができる.