Mysql による CPU の高使用率をトラブルシューティングするにはどうすればよいですか?

Created:

2016-11-16 13:06:26 UTC

Modified:

2017-06-22 15:51:28 UTC

17

Was this article helpful?


Have more questions?

リクエストを送信

Mysql による CPU の高使用率をトラブルシューティングするにはどうすればよいですか?

症状

  1. Mysql による CPU の高使用率をトラブルシューティングするにはどうすればよいですか?

  2. MySQL プロセスによる CPU の使用率が高くなっています。サーバで何が起こっているのか確認するにはどうすればよいですか?

    top

    top - 13:35:48 up 20:19, 4 users, load average: 0.07, 0.12, 0.15Tasks: 471 total, 1 running, 470 sleeping, 0 stopped, 0 zombieCpu(s): 0.7%us, 0.1%sy, 0.0%ni, 99.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 49390148k total, 7656948k used, 41733200k free, 323404k buffersSwap: 24764408k total, 0k used, 24764408k free, 5839768k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1455 mysql 20 0 1720m 110m 7332 S 10.9 0.2 34:53.63 mysqld 3235 apache 20 0 349m 26m 4724 S 3.3 0.1 1:14.40 httpd

解決策

  1. mysql サーバでの SHOW FULL PROCESSLIST とプロセスステータスによって、どのクエリを実行中であるか、および、サーバのステータスを確認します。例:

    mysql> SHOW FULL PROCESSLIST;
    +-----+-------+-----------+------+---------+------+-------+-----------------------+
    | Id | User | Host | db | Command | Time | State | Info |
    +-----+-------+-----------+------+---------+------+-------+-----------------------+
    | 12 | admin | localhost | psa | Sleep | 6763 | | NULL |
    | 17 | admin | localhost | psa | Sleep | 152 | | NULL |
    | 100 | admin | localhost | psa | Query | 0 | NULL | SHOW FULL PROCESSLIST |
    +-----+-------+-----------+------+---------+------+-------+-----------------------+
    3 rows in set (0.00 sec)
  2. mysql エラーログ /var/log/mysqld.log を確認します。

  3. free -m df -h で、サーバの一般的なステータスで RAM メモリとディスク容量の使用状況を確認します

  4. スロークエリーログ を有効化して、スロークエリーログを確認します。

スロークエリーを顧客のデータベースで実行する場合、当該データベースの管理者またはサーバの管理者まで連絡してください。サーバのパフォーマンスに関連する問題は「システム/サーバ管理作業」とみなされ、Plesk テクニカルサポートの範疇外となりますのでご注意ください。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。