web-dev-qa-db-ja.com

Ubuntu 10.04.3 LTS 64ビットで100%のCPU負荷

この問題を2日間修正しようとしましたが、成功しませんでした。サーバーはMySQLデータベースサーバーです。

ハードウェア: Dell Poweredge 1950、2x IntelXeonクアッドコアE5345 @ 2.33GHz、16 Gb mem、2x 146Gb SAS(ソフトウェアRAID1)

ソフトウェア: Ubuntu 10.04.3 LTS、MySQL 5.1.41

問題: MySQLは使用されておらず、データベースなしで実行されていますが、すべて問題ないようです。データベースをインストールするとすぐに、8コアすべてが100%で、メモリ消費量が少ないをもたらす理由があります。したがって、負荷平均が高くなることが想像できます(212の負荷平均を初めて見ました)。サーバーが応答しなくなることはありませんが、インストールされているプロジェクトを参照している間、サーバーが遅いことがわかります。

追加情報:

  • 使用されるデータベースは24MB以下であり、リソースが少なく、データベースがはるかに大きいサーバーから移動されました。したがって、それはデータベース/プロジェクトではありません。
  • my.cnfも理由ではありません。デフォルトのものと、別のサーバーの同じディストリビューションで使用しているものの両方を使用したためです。興味深いのは、mysqlがプロセスを閉じず、max_connectionsの制限まで実行されることです。
  • ログは静かです。そこには何もありません。
  • 新しくUbuntu11.10サーバーで問題が発生したと思われた後、このUbuntuバージョンに切り替えました。これは、カーネルを3.0.1にアップグレードした後、1時間は問題なく動作しました(メモリも使用していました)

ディスク速度をテストしましたが、問題ないようです。

実行中のサーバーに関するその他の出力:

dstat -cndymlp -N total -D total 3:

dstat

htopコマンド:

htop

誰かが同じ問題に遭遇しましたか?あなたが考えることができる修正はありますか?

6
deadtired

興味深い部分(MySQLが非常に忙しいことに加えて...)は、CPU時間の大部分がsystem時間ではなくuserに費やされているように見えることです。

MySQL以外のプログラムでこれと同じ種類の動作をトリガーできますか?たとえば、stressを試して、stress -c 128でCPUを消費するようにします。私にとって、93%のユーザーと7%のシステムCPUを消費する128のスレッドを生成しました(トップによると)。とにかく、これはFedora15で。ストレスがかかってもサーバーがシステム時間をほとんど消費する場合は、何かが非常に間違っています。

古いサーバーファームウェアのような予期しないことが、あらゆる種類のファンキーな副作用を引き起こすことがあります。サーバーファームウェアをアップグレードしましたか?また、dynamic ticksのような新しいカーネル機能は、特定の条件下で物事を遅らせる可能性があります。ブートパラメータとしてnohz=offをGRUBに渡すことにより、これらを無効にしてみてください。

1

mysqlを強制終了して、何が起こるかを確認してください。 CPU使用率が非常に高いものを特定する必要があります。

CPU使用率が低下した場合は、MySQLの構成とビジネスの性質に関する詳細情報を提供してください。


申し訳ありませんが、よく読んでいませんでした。私は写真に注意を払いすぎていました。

新しいバージョンを使用したり、MySQLを再インストールしたりするのはどうですか? sysadminの10年の経験から、これは不可能に思えます。

0
c2h2