FAT47の底辺インフラ議事録

学んだことのメモ帳です

サーバ負荷調査メモ

CPU

CPUがマルチコア場合はvmstatではなくmpstatを使うほうがよい。

mpstat -P ALL 1 1000
04:27:30 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
04:27:31 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00   1023.00
04:27:31 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00   1023.00

topでサブコマンドcを使ってCPU処理時間順にする
もしくは、psコマンドのCPU列を確認して負荷のプロセスを特定

プロセスを特定したらsarで更に追う

sar -x プロセスID 3 3
05:31:06 PM       PID  minflt/s  majflt/s     %user   %system   nswap/s   CPU
05:31:09 PM      4431      0.33      0.00      0.00      0.33      0.00     0
05:31:12 PM      4431      0.00      0.00      0.00      0.00      0.00     0
05:31:15 PM      4431      0.00      0.00      0.33      0.00      0.00     0
Average:         4431      0.11      0.00      0.11      0.11      0.00


プロセス全体がCPUを使用しているのか特定スレッドがCPUを消費してるのかを調査するにはps に-Lをつける。

ps -eo user,%cpu,%mem,pid,lwp,vsz,rss,sz,comm -L


メモリ
スワップイン・スワップアウト状況

sar -W 1 1000
Linux 2.6.18-308.1.1.el5 (localhost.localdomain)        04/12/2012

05:39:22 PM  pswpin/s pswpout/s
05:39:23 PM      0.00      0.00
05:39:24 PM      0.00      0.00
05:39:25 PM      0.00      0.00

vmstatのRSS(Resident set size)は物理メモリの占有率

slabの状況を見るには

cat /proc/meminfoのSLab:
slabstat

I/O

iostat -x 3 1000
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.90    0.82    1.74    0.00   96.42

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               1.52     2.70  5.20  1.16   130.61    30.94    25.38     0.06    9.44   3.24   2.06
sda1              0.23     0.00  0.02  0.00     0.49     0.00    26.55     0.00    3.49   2.70   0.01
sda2              1.29     2.70  5.18  1.16   130.07    30.93    25.38     0.06    9.46   3.25   2.06
dm-0              0.00     0.00  6.41  3.87   129.83    30.93    15.65     0.18   17.08   2.00   2.06
dm-1              0.00     0.00  0.02  0.00     0.19     0.00     8.00     0.00    8.47   0.52   0.00

util(デバイスのビジー率)の項目を見る。この数値が定常的に100%に近ければ、そのハードウェアデバイスが処理しきれなくなっている可能性がある。

avgqu-sz:I/O待ち行列
avgqu-wa = await - svctm:I/Oの処理待ち時間
await:I/Oの要求から処理完了までの時間

I/O待ち行列数、待ち時間ともに上昇傾向でutilが100%に近ければデバイスの処理能力超えている。


ネットワーク

パケットエラー

netstat -s

IP,TCPでパケットロスト、エラー、バッファあふれがないか。