出力について質問したいですsar -q
。誰でも私が理解するのを手伝ってくれたらとても感謝しますrunq-sz
。
8 cpu threads
CPUスレッドが開いているシステムがあります RHEL 7.2
。
[ywatanabe@host2 ~]$ cat /proc/cpuinfo | grep processor | wc -l
8
sar -q
以下は私のシステムの結果ですrunq-sz
。低いと比較してldavg-1
。
runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
05:10:01 PM 0 361 0.29 1.68 2.14 0
05:11:01 PM 0 363 1.18 1.61 2.08 2
05:12:01 PM 0 363 7.03 3.15 2.58 1
05:13:01 PM 0 365 8.12 4.15 2.96 1
05:14:01 PM 3 371 7.40 4.64 3.20 1
05:15:01 PM 2 370 7.57 5.26 3.51 1
05:16:01 PM 0 366 8.42 5.90 3.84 1
05:17:01 PM 0 365 8.78 6.45 4.16 1
05:18:01 PM 0 363 7.05 6.40 4.28 2
05:19:02 PM 1 364 8.05 6.74 4.53 0
05:20:01 PM 0 367 7.96 6.96 4.74 1
05:21:01 PM 0 367 7.86 7.11 4.93 1
05:22:01 PM 1 366 7.84 7.31 5.14 0
From は実行キュー内のジョブ数を表すman sar
と考えられ、その状態は次のとおりです。runq-sz
ジョブの実行のR状態に対応しますps
。
runq-sz
Run queue length (number of tasks waiting for run time).
それは実際に何を意味するのかrunq-sz
?
答え1
このマニュアルページには、このプロパティの詳細な説明があります。
q-sz 実行
CPUの実行を待っているメモリ内のカーネルスレッドの数。通常、この値は2より小さくなければなりません。常に高い値は、システムがCPUにバインドされている可能性があることを意味します。
結果の解釈
多くの「メトリック」の場合と同様に、パフォーマンスの問題があるかどうかを解釈するには、それらを一緒に使用する必要があります。この特定のインジケータは、システムにCPU時間が足りないかどうかを示します。
そして、load1、5、15は、プロセスが実行キューにあるが、強制的にランタイムを待たなければならないことを意味します。 load1、5、15変数は、システムの全体的な傾向と待機中のプロセスが多いかどうか(負荷の増加)と下向きの傾向を示します。ただし、プロセスがロード1、5、15を待つことができるさまざまな状況があります。通常、負荷が1,5,15倍高い場合、I / Oはブロックされます。
runq-sz では CPU 時間を待つことができます。
引用する
答え2
この記事はGoogleに初めて掲載され、上記の最後の回答は承認済みとしてマークされます。
答えは参考資料を提供し、テキストを引用します。ソラリスマンページ。しかし、OPの質問はRHEL 7。実行可能なプロセスレポートは、SolarisとLinuxで異なる方法で処理されます。
Solarisは、実行を待っているプロセスの数を示す指標としてロード/キューの平均を使用することを好みます。
Linuxは、実行中のプロセス数と実行中のプロセス数を示す指標として、ロード平均/キューを使用する傾向があります。
runq-sz
inのLinux表現は、sar -q
現在実行中のプロセス数+待機中のプロセス数を意味する可能性が高いです。
8スレッドインスタンスのOPの元の例を参照すると、runq-sz
8未満はこの点で最適なパフォーマンスを表します。
私は、低runq-sz
と高がloadavg
一種の詰まりや睡眠過程を示す可能性があることに同意します。 OPの例sar出力blocked
列にこれを部分的に見ることができます。
答え3
稼働時間は、最後の1分、5分、15分の負荷平均を提供します。ただし、稼働時間sar
中にシステムロードの即時スナップショットを取得することはできません。 (sar
および)はすべてuptime
同じロード情報を報告します。
ldavg-1 -> last 1 minute
ldavg-5 -> last 5 minutes
ldavg-15 -> last 15 minutes.
runq-sz
CPU が必要または CPU を待っているプロセスの数。
これは負荷平均と相関関係がありますが(負荷が高い場合はCPU枯渇が可能です)、直接的な相関関係はありません。
待機中 - >プロセスは無制限のリソースを待ちます(プロセスが長時間待機するため、負荷平均が非常に高い可能性があります)。
キュー内のプロセスは、キューにCPUをインポートするプロセスです。つまり、CPU を 100% 待って CPU が使用可能になったら、一部を取得します。つまり、CPUが不足しています。
これにより、sar -q
CPU 不足(キューサイズが非常に大きい)があるかどうかを理解できます。稼働時間とldavg-#を介してシステム負荷に関するアイデアを得ることができ、キューサイズが高いというヒントを得ることもできます。
お役に立てば幸いです。
答え4
Linuxについて次のように述べました。
- 負荷平均 = 実行中のプロセス + 待機中のプロセス
- runq-sz = 実行中のプロセス + 待機中のプロセス
これは意味する負荷平均そしてq-sz 実行実行中のプロセスを含める
では、違いは何ですか?待機プロセスそしてキュープロセスどうぞ?
たとえば、説明できますか(最初の行runq-sz = 10)?
20コア(40スレッド)サーバー用です。
ldavg-1> runq-szは、多くのプロセスがリソース(I / Oなど)を待っていることを意味しますか?
06:10:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
06:20:02 10 1696 28.95 30.21 28.25
06:30:02 8 1672 25.93 27.57 27.78
06:40:02 8 1707 31.82 35.37 32.88
06:50:01 9 1707 28.90 31.06 31.89
私のサーバーのCPU使用率は非常に低いです。 80%アイドル状態です。
挨拶、