• ベストアンサー
  • 困ってます

サイトが重く、load averageが高い

  • 質問No.7519733
  • 閲覧数465
  • ありがとう数1
  • 回答数2

お礼率 70% (17/24)

サイトが重く感じたので、topコマンドで見てみるとload averageが7~10をいったりきたりと高い値でした。

load average: 8.57, 7.08, 10.73

Tasks: 114 total, 1 running, 113 sleeping, 0 stopped, 0 zombie
Cpu(s): 80.2%us, 19.8%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 3368216k total, 2805768k used, 562448k free, 298348k buffers
Swap: 2048276k total, 80k used, 2048196k free, 1977940k cached


また、mysqldの%CPUが200近くまでなっており異常に突出していました。

mysql 15 0 164m 39m 4096 S 196.7 1.2 221:52.29 mysqld

これはMYSQLへの負荷が高いのかなと思い、

show full processlist

をみてみたものの、よくわかりませんでした。

そこでslow queryログを取ろうと思い、3秒以上で出力するように、my.cnfなどに設定したものの、slow queryログファイル自体がなかなか作成されません。

3秒以上掛かるクエリがないのか、それとも設定が間違っているのかは分かりません・・・
また、その際にmysqldをリスタートしたものの、load averageやCPUなどはほとんど変わりませんでした。

topでみたときのmysqldの%CPUが200近いのが気になって仕方ないのですが、他にどこをみたらいいでしょうか。

また、どのような対処法などありますでしょうか。

どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー
ロードアベレージが、50ということは、Run状態あるいはRun readyのプロセスが、その前後で、50個あったということです。

 そういうプロセスは、topの表示のだいたい上位にならびますが、どんなプロセスが並んでいるのでしょう?
 mysqldだけで、そんなに沢山走っているのでしょうか?

mysql 1個しかなくて、そういう表示になってるなら、まず、mysqlをrestartします。
あと、mysqlのログファイルも要チェックです。
お礼コメント
nec90

お礼率 70% (17/24)

mysqlをリスタートしてみます。
どうもありがとうございました。
投稿日時:2012/06/08 14:44

その他の回答 (全1件)

  • 回答No.1
5年以上昔は、ロードアベレージが、7とか8とかは、確かに負荷が重いということでした。

しかし、今は、モダンなプロセッサは、マルチコアです。
モダンなLinux kernelは、SMP(Symetric Multi Processing)対応です。

 あなたのシステムが、対応しているかは、topコマンド表示中のスクリーンで、'1'をたたいて、マルチコア対応の表示がデルなら、対応しているのでしょう。表示がなにも変わらないなら、シングルコア対応なので、まず、それを直すのが、簡単かと。
補足コメント
nec90

お礼率 70% (17/24)

アドバイスありがとうございます。

ためしてみたところ、マルチコア対応だったみたいです。

Cpu0 : 63.8%us, 36.2%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 75.5%us, 24.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st

しかしながらloado averageはひどいときには70~100までにあがってしまいました。

現在は load average: 35.23, 30.72, 32.73 でしたが…
投稿日時:2012/06/07 22:36
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ