単一のFirefoxブラウザプロセスのUbuntu Linux 16.10システムモニタ%CPU使用率とps pcpu、%CPU使用率の間に次の違いがあるのはなぜですか?
Firefoxブラウザアプリケーションの場合はps -eo pid、rss、c、pcpu、cmdから2.8%pcpuを取得しますが、同じFirefoxブラウザアプリケーションの場合、GUIアプリケーションUbuntu System MonitorではCPU使用率が0%で表示されます。
なぜこのような違いが発生するのか尋ねてもいいですか?
この違いに対するUnix Linux Stack Exchangeの専門家@DopeGhotiの仮説は次のとおりです。
psはその時点で実際のCPU使用量を報告できますが、GUIアプリケーションは過去n秒間の集約された使用量を表示したり、サブプロセスまたはiowait使用量からCPU使用量をスクロールしたりできます。
誰かがこの仮説を拡張できますか?
どんな助けでも大変感謝します。
ベストアンサー1
1時間後、Firefoxプロセスを使用して@DopeGhotiの仮説をテストします。
「psはその時点で実際のCPU使用率を報告できますが、GUIアプリケーションは過去n秒間の集約された使用量を表示したり、サブプロセスまたはiowait使用量からCPU使用率をスクロールしたりできます。」
psが次のように実際のCPU使用率を測定することを除いて、ほとんどが正しいことがわかりました。
プロセスが実行された時間(サンプリング期間)がわかっている場合、実際の「%cpu」値は次のように計算できます。
サンプリング期間中に蓄積された「CPU TIME」-------------------------------------------- x 100 サンプリング周期長
Ubuntu Linux 16.10システムモニタのFirefoxプロセスCPU使用率データは、システムモニタのデフォルト設定に非常に敏感であることがわかりました。 1.更新間隔(秒)、n。つまり、過去n秒間の使用量を集計したのです。 2. CPU数に応じたCPU使用率に加えて、Lenovo ThinkstationデスクトップにクアッドコアCPUを使用しています。
In summary, the longer the time period over which aggregate usage
測定が正しいほど、CPU使用率の測定も正確になります。