SARから取得されたいくつかのデータを理解しようとしています。これについて主に3つの質問があります。最終的に、サーバーのクラスター全体の各サンプリング間隔でアイドル状態にあったCPUの数を特定したいと思います。
- CPUの多くがすべてのエントリに表示されるわけではありません。これは期待されたもので、正確にはどういう意味ですか?#2に関連していますか?
- 未使用の行があります(CPU = U)。ドキュメントは、「Uはシステム全体の未使用容量を示す」と言います。「システム全体の未使用容量」の正確な定義や定義はまったく見つかりません。「未使用の容量はアイドル状態が70%だった」のような行を解釈する方法がわかりません。
- 最後に、
-
orall
線の計算方法がわかりません。それはすべてのCPUの平均だと思いますが、すべてのCPUで計算すると、その行にあるものとは大きく異なる答えが得られます。誰かがその計算に何が入るのか正確に教えてもらえますか?SARに関するこの関連する質問をよく見ると、system-wide
アイドル率は、各CPUのアイドル率と「physc」値の積の合計であるように見えます。残念ながら、physc
またはentc%(存在する場合)がないので、これを自分のデータで確認することはできません。それが正しい場合、physc
アイドル率を正確に理解するために値が必要であることを意味しますか?
ここに私が見ているもののいくつかの例があります。これらはすべて同じ日からのものです。
CPU | Idle CPU | Idle CPU | Idle
---------- ---------- ----------
0 | 8 0 | 15 0 | 17
1 | 25 1 | 94 1 | 32
2 | 79 2 | 100 2 | 97
3 | 62 3 | 99 3 | 71
4 | 5 4 | 13 4 | 5
5 | 7 5 | 13 5 | 23
6 | 6 6 | 99 6 | 71
7 | 7 7 | 44 7 | 98
8 | 11 8 | 12 8 | 48
9 | 17 12 | 0 12 | 38
10 | 33 16 | 12 16 | 37
11 | 64 20 | 3 20 | 42
12 | 6 U | 95 U | 97
13 | 6 - | 15 - | 85
14 | 6
15 | 6
16 | 12
17 | 15
18 | 62
19 | 69
20 | 7
21 | 7
22 | 6
23 | 7
U | 80
- | 15
case 1: avg(24): 22
case 2: avg(12): 42
case 3: avg(12): 48
このデータは、実行するスクリプトによって生成されsar -P ALL 1 1
ます。次に、awkコマンドを実行します。私はawkが苦手ですが、これらは明らかに重要な部分です。
フィルタ: /System|AIX|^$|%/ {next}
解析: {k=0;if(NR==7) k=1} {sub("^-", "all", $1); cpu=$(1+k); user=$(2+k); sys=$(3+k); io=$(4+k); idle=$(5+k)}
これは、私がawkについてほとんど理解していないことと、出力の例から私が見たことに基づいて正しいようです。
ケース2の欠損値がすべてゼロであると仮定すると、平均は21であり、ケース1といくらか一貫しているように見えます。ただし、ケース3でその仮定を行うと、24%になり、85%全体的なCPUアイドル状態に対してsarによって指定されたパーセント値。
丸1日のキャプチャ(30秒ごと)のグラフは次のとおりです。
「システム全体」のアイドル時間がほとんどない場合、平均CPUアイドルと「システム全体」のアイドルの間の相関はほぼ完全です。しかし、「システム全体」のアイドル時間が増えると、相関関係は非常に弱くなります。これらは確定的なマシンであるという仮定に基づいて作業していると、私が持っているデータは全体像を示していないことがわかります。しかし、私はどれくらい気にしますか?
一部のCPUが各ポイントで報告されない理由を完全には理解していませんが、上記の例にあるように、欠落しているCPUが均等に分散されていません。また、このレッドブックを読んで、これらは論理CPUである必要があり、physc
数値がないと、これらの値を使用してできることは多くないと思います。U
さまざまな方程式で値を使用しようとしましたが、意味のあるものは見つかりませんでした。全体的なアイドルパーセンテージを額面どおりに取得できるかどうかさえ、私には明確ではありません。
注:sarからのこのデータのキャプチャに何か問題があります。常に戻る必要がある場合は、#1に対する完全に有効な回答です。
sar -P ALL 1 1
からawkを使用してCPU番号を調べ、次にユーザー、システム、IO待機、アイドルの割合を調べます。回答にさらに情報を追加します。
sar -P ALL
このスクリプトの出力ではなく、直接の出力を提供できますか?それは非標準のスクリプトであり、誰もそれを見ないでそれが何をするかをあなたに伝えることはできません。
sar -P ALL
出力のようには見えません。