3

topmpstat、特にサービスなどのコマンドから CPU 使用率を合計しようとするcollectdと、正確な 100% の CPU 使用率に到達できません。

たとえばtop、Amazon EC2 のテスト サーバーの結果は次のとおりです。

Cpu(s): 13.6%us, 31.6%sy,  0.0%ni, 53.2%id,  0.0%wa,  0.0%hi,  0.0%si,  1.7%st

パーセンテージをどのように合計しても、CPU が 100% になることはありません。もちろん、論理的な方法ではありません。ほとんどの場合、丸め誤差のようです。100.1%か99.9%ですが、110%を超えることもあります。これは通常、stealが比較的高い場合に発生します。たとえば、collectd報告された ~21.44% のスチールと ~88% のアイドルからの 1 つの状況で、これら 2 つだけで既に 100% をはるかに超えています。ni(nice) も (user) にカウントされることはわかっているusので、追加すべきではありませんが、それでもうまくいきません。

collectdこれらを 100% まで追加する方法や、時々報告される例外的なケースを解釈する方法を知っている人はいますか?

4

2 に答える 2

5

collectd(およびtop、、、または他のそのようなユーティリティ)はhtopvmstat間隔全体の平均を報告し、カーネルの性質上(これらのユーティリティが統計をクエリする)、一般に浮動小数点演算を使用せず、必ずしもすべてを網羅的に説明しようとはしません。 tは100%正確です。合計すると100%未満になることもあれば、それ以上になることもあります。これは監査に使用することを意図したものではなく、時間が費やされている場所の一般的な指標にすぎません。

于 2012-08-15T21:43:08.217 に答える
1

これはcollectdとは関係がなく、カーネルアカウンティングと関係があることを確認します。この不正確さは、ティックレスシステムおよび/またはスロットル状態で特に重要です。

于 2013-03-12T12:38:33.307 に答える