Home

技術系のメモと日々の雑感

load average 急上昇の原因は?

とあるサーバで load average が急激に上がった。

top - 10:37:55 up 504 days, 13:15,  1 user,  load average: 12.06, 12.03, 12.20
Tasks: 130 total,  13 running, 117 sleeping,   0 stopped,   0 zombie
Cpu(s): 10.7%us,  0.0%sy,  0.0%ni, 89.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2066496k total,  1851856k used,   214640k free,   142048k buffers
Swap:  1015800k total,        0k used,  1015800k free,   251724k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  537 root      25   0 54584  51m  716 R   20  2.6  55:30.78 logrotate
 1420 root      25   0 56760  54m  692 R   20  2.7  47:13.77 logrotate
 3225 root      25   0 50036  47m  692 R   20  2.4  26:20.68 logrotate
 4296 root      25   0 71636  67m  716 R   20  3.4 247:37.94 logrotate
 4976 root      25   0 34136  32m  692 R   20  1.6   5:54.74 logrotate
22993 root      25   0 68412  65m  716 R   20  3.3 217:02.44 logrotate
28603 root      25   0 67084  63m  716 R   20  3.2 104:13.14 logrotate
29479 root      25   0 66340  62m  716 R   20  3.1  93:25.04 logrotate
31231 root      25   0 63372  60m  692 R   20  3.0  73:54.32 logrotate
 4103 root      25   0 45056  42m  692 R   12  2.1  15:46.17 logrotate
22101 root      25   0 68856  66m  716 R    8  3.3 231:05.95 logrotate

見ての通り、logrotate が大量に起動している。
一旦すべて kill したら、load average はすぐに下がってくれた。
それにしても、%CPU を足したら軽く 100 を越えているのに idle が 89% って・・・。
まぁ、気にしても仕方ないか。
で、/var/log を見て唖然。
ls が返ってこないな〜と思ったら、ファイルが数十万個も溜まっていた。
ほとんどが messages と maillog で、ファイル名が明らかにおかしい。

messages.1.gz.2.gz.2.gz.2.gz.3.gz.2.gz.1.gz
maillog.1.gz.1.gz.2.gz.2.gz.2.gz.1.gz

なるほど。
複数の logrotate の処理がぶつかるとこんな動きになるんだね。
って、のんびり観察してる場合じゃなかった。
古いログファイルを削除して、logrotate の設定も見直し。
messages も maillog も多めに残すようにしていたので、値を減らしておいた。
でも結局、根本的な原因は不明。
ハード障害の疑いも捨てきれないので、環境を別のマシンに移動してしまおう。

この記事に対するトラックバック

この記事のトラックバックURL

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する