GNU/Linux >> Linux の 問題 >  >> Linux

Linux での CPU I/O 待機の評価

これらの数字を評価するときは注意が必要です.

<オール>
  • IOWait は関連していますが、必ずしもディスク アクティビティと直線的に相関しているわけではありません。
  • 所有している CPU の数が割合に影響します。
  • 高い IOWait (アプリケーションによって異なります) は必ずしも 問題を示します。あるいは、小さな IOWait が問題になる場合があります。基本的には、どのタスクが待機しているかにかかっています。
  • このコンテキストでの IOWait は、すべての実行可能なタスクが IO 操作が完了するのを待っていたために、CPU (またはすべての CPU) がアイドル状態で過ごした特定の期間の時間の尺度です。

    あなたの例では、20 個の CPU があり、1 つのタスクが実際にディスクを叩いている場合、このタスクは (事実上) IOWait で 100% の時間を費やしており、その後、このタスクが実行される CPU はその時間のほぼ 100% を待って。ただし、他の 19 個の CPU が実質的にアイドル状態で、このディスクを使用していない場合、それらは 0% IOWait を報告します。これにより、IOWait の平均パーセンテージは 5% になりますが、実際にディスク使用率を確認すると、100% と報告される可能性があります。ディスクで待機しているアプリケーションが重要な場合 -- この 5% はやや誤解を招く可能性があります。なぜなら、ボトルネック内のタスクは、5% 遅くなるよりもはるかに高いパフォーマンスの問題を経験している可能性が高いからです。

    <ブロック引用>

    動作中の CPU プロセスとほぼ同じ数の CPU プロセスが待機していますか? (=>悪い)

    おそらく、ほとんどの場合、CPU がタスクを実行し、タスクが IO を要求するものであることを思い出してください。 2 つの別々のタスクが 2 つの別々の CPU で同じディスクをクエリしている場合、両方の CPU の IOWait は 100% になります (20 CPU の例では、全体の平均 IOWait は 10% になります)。

    基本的に、特に同じディスクから IO を要求するタスクが多数あり、さらにそのディスクが 100% 使用されている場合 (iostat -mtx を参照) ) それでは、これは悪いことです。

    <ブロック引用>

    作業プロセスは実行計画の 5.0% を待機していますか? (=>この場合はOK)

    いいえ。ほぼ確実に、作業プロセスはフルタイムで IO を待っています。これは、平均的なレポート ケース (「他の CPU がビジーではない」) が、CPU に実行するタスクが多くあり、そのうちの多くは IO を実行する必要がないという割合または事実をごまかすだけです。

    原則として、マルチ CPU システムでは、使用している CPU の数を 100 で割った値に等しい IOWait のパーセンテージは、おそらく調査すべきものです。

    <ブロック引用>

    他の何か

    上記を参照。ただし、非常に大量の書き込みを行うアプリケーションは抑制されることに注意してください (ライトバックの使用を停止し、ディスクへの直接書き込みを開始します)。これにより、これらのタスクは高い IOWait を生成しますが、同じディスクに書き込みを行う同じ CPU 上の他のタスクは生成しません。したがって、例外は存在します。

    また、2 つのタスクの実行専用の 1 つの CPU がある場合、1 つは重い IO 読み取り/ライターであり、もう 1 つは重い CPU ユーザーである場合、この場合、CPU は 50% の IOWait を報告します。このような 10 のタスクがある場合、 10% の IOWait (そして恐ろしい負荷) になるため、実際の問題よりもはるかに低い数値が報告される可能性があります。

    iostat -mtx を見る必要があると思います ディスク使用率の指標を取得し、pidstat -d プロセスごとのメトリックを取得するには、その方法でそれらのディスクにヒットするアプリケーションが問題を引き起こす可能性があるかどうか、またはそれらのディスクにヒットする他の潜在的なアプリケーションが問題を引き起こす可能性があるかどうかを検討してください。

    CPU メトリクスは根本的な問題の指標として実際に機能します。これらは一般的なものであるため、どこにあるのかを理解することも 一般的なことは良いことです.


    Linux
    1. DigitalOcean クラウドの Kali Linux

    2. Linuxで「中断できない」プロセスを停止するには?

    3. Registered I/O に相当する Unix/Linux は何ですか?

    1. LinuxでディスクがSSDかHDDかを確認する方法

    2. Linux OOM ディスク I/O。また、スワップ、それは何に役立ちますか?

    3. Linux での予測不可能な I/O パフォーマンスの大幅な低下

    1. Linux I / O(入力/出力)リダイレクトの仕組みの基本を学ぶ

    2. LinuxコマンドラインからのI/Oレポート

    3. Linux –特定のディレクトリのディスクI / Oを監視する方法は?