IOwait関連の問題が発生しました。監視中のサーバーから実行をロードしている間、非常に高いIOwait値が表示されます。(50%-70%)。私はSAR報告コマンドを使用してこのデータを生成しました。理想的には、値は次の値より低くなければなりません。8%-9%サーバーがあるので12コア(1/12~0.08)。私はこれをどこかで読み、それに応じて仮定しました。
このような高いIOwait問題を解決するために何ができるのか、そしてパフォーマンスを向上させるために確認できるサーバーの他の要素とこの問題はどのように関連していますか?
ベストアンサー1
少しLinuxの秘密を公開します。Linuxには信頼できるiowait統計がありません。。これはただの事実です。 ~から工程(5)私達は読みます:
iowait(Linux 2.5.41以降)
(5) I/O が完了するのを待つ時間です。この値は、次の理由で信頼できません。
CPU は I/O が完了するまで待機しません。 iowaitは、ジョブがI / Oが完了するのを待つ時間です。完了していないジョブI / OによってCPUがアイドル状態になると、そのCPUに他のジョブがスケジュールされます。
マルチコアCPUでは、I / Oが完了するのを待つタスクはどのCPUでも実行されないため、CPUあたりのiowaitを計算するのは困難です。
場合によっては、このフィールドの値が小さくなることがあります。
したがって、私のアドバイスは、Linuxでiowait測定を忘れてしまうことです。