- ベストアンサー
MySQLのプロセスがCPUを喰っています
- サーバーの管理者が報告を受け、MySQLのプロセスが常時CPUを30%使用していることが判明しました。
- サーバーの重さの原因がこれかどうかは不明ですが、正常とは言えない状態です。
- 再起動をしても一時的に改善する程度で、長期的な解決策はわかりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>特に変なプロセスは走っていないようです。 それはcpu占有が30%(近く)になった状態でそうなんですか? 何かプロセスを走らせておそいならとりあえずテーブルの最適化を するとか、正規化をみなおしてチューニングするとかなんでしょうけど cpu占有率を落とすにはniceで優先度をおとすのでしょうけど 遅くするのが目的ではないのであまり意味がないかもしれません
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
とりあえずmysqlにログインして SHOW PROCESSLIST で、想定外のプロセスが走っていないか確認してみてください
お礼
ありがとうございます。 mysqlのプロセスを見てみましたが、特に変なプロセスは走っていないようです。 sleep状態のクエリーがいくつかあるようです。 +------+------+-----------+--------------+---------+------+-------+------------------+ | 7245 | root | localhost | ************ | Sleep | 1069 | | | | 7329 | root | localhost | ************ | Sleep | 4388 | | | | 8539 | root | localhost | ************ | Sleep | 2247 | | | | 8633 | root | localhost | ************ | Sleep | 1771 | | | | 8952 | root | localhost | ************ | Sleep | 80 | | | | 8971 | root | localhost | | Query | 0 | | show processlist | +------+------+-----------+--------------+---------+------+-------+------------------+ 現在のmysqlのプロセス状態です。 *****というのは既存のDB名です。
お礼
ありがとうございます。 常に(というよりはプロセスを調べた時)CPU占有率がこのプロセスだけで30%前後使用していますので、何かのクエリーが動いてCPUを占有しているという訳ではなさそうです。 もちろん24時間、動作しているサーバーですので何らかのクエリーが常に走っている状態という可能性も否めませんが、MYSQLのプロセスリストを見ても怪しいクエリーはなさそうですので、よくわかりません。 sleep状態のプロセスが複数残っているのも気になりますが・・・。