2011年5月11日水曜日

「新米管理者のためのサーバが重くて困ったとき読む本」との別れあるいはホマゲ(homage, オマージュ)

本棚を整理していると出てきた、なつかしい本。

ざっと目を通してみたが、難解だと思う部分は無かった。

今後読み返すことはないだろう。便利なコマンドだけここに記録して、心おきなく捨てたいと思う。

便利コマンドその1: ディスクの応答速度を調べる - iostatコマンド

以下は10秒間隔で表示する例。

$ iostat -C -d 10
          disk0       cpu
    KB/t tps  MB/s  us sy id
   48.14   3  0.15  10  6 83
   15.93   3  0.05  14  7 79
  

ちなみにオプション無しで実行すると disk, cpu のほかにロードアベレージも表示される。オプション無しで実行するほうが普通だと思われるが、この本にはなぜか-C -dを指定して表示を抑制した例が掲載されている。

出力の意味
ディスクCPU
KB/ttpsMB/sussyid
転送命令あたり転送量(KB) 1秒あたり転送命令数 1秒たりの転送量(MB) ユーザープロセスによる使用率 システムプロセスによる使用率 アイドル率

便利コマンドその2: ディスクのエラー検出 - dmesgコマンド

通常、ディスクの不具合は、カーネルのエラーとして検出されることが多くあります。つまり、dmesgコマンド実行中に見つかったり、/var/log/messages にエラーメッセージが出力されていたりします。
# dmesg | grep "READ ERROR"

当然ながら、ディスクエラーがない場合には何も出力されない。

便利コマンドその3: アクセスの多いIPアドレスを特定する - netstatコマンド

netstatの標準出力からIPアドレスだけをcutコマンドで抽出し、uniqコマンドで同じ文字列をカウントするようにします。
$ netstat -an|cut -c 45-66|cut -f 1-4 -d.|sort|uniq -c|sort -r
  58          0 ffffff800bb
  50          0 ffffff800b7
  44          0 ffffff800d7
  32 *.*                   
  21 192.0.2.1
   6 192.0.2.2
   2 192.0.2.3
   1 rs)
   1 Foreign Address       
   1 800df87f00            
  

上の例は本に載っているとおりにコマンドを実行したものだが、UNIXドメインソケットの情報や出力のヘッダ行にあたる文字列"Foreign Address"とか"rs)"が混ざって分かりにくい。この点を修正したのが以下のコマンド(と言っても-fオプションとsedのフィルタを加えただけ)。

$ netstat -f inet -an|sed '1,2d'|cut -c 45-66|cut -f 1-4 -d.|sort|uniq -c|sort -r
  21 192.0.2.1
  18 *.*                   
   2 192.0.2.2
   2 192.0.2.3
   1 192.0.2.4
   1 192.0.2.5
   1 192.0.2.6
  

また、環境によってはcutコマンドのオプションすなわち-c 45-66の部分を調整する必要があるかもしれない。

0 件のコメント:

コメントを投稿