Linux での特定の CPU 使用率の計算要件ソリューション拡張リファレンス
###必要###そして、私たちの要件は次のとおりです:
CPU 占有率を取得するにはどうすればよいですか?###解決###
1. 背景知識以下に示すように、/proc/stat で各 CPU の使用状況を確認できます。
cpu の後の 10 個の数字 (0/1/2/…) の意味は次のとおりです。
リーリー2.特定の CPU 使用率を計算する
上記の背景知識を踏まえて、具体的な CPU 使用率を計算できます。具体的な計算方法は以下の通りです。 リーリー
上記の計算式を使用すると、特定の CPU 使用率またはシステムの合計 CPU 使用率を計算することは難しくありません。 例: システム全体の CPU 使用率を計算します まず、
t1におけるシステム全体の user、nice、system、idle、iowait、irq、softirq、steel、guest、guest_nice の値を /proc/stat から取得し、合計 CPU 時間を取得します。ブート以降 (total1 として示されます) およびブート以降の合計 CPU アイドル時間 (idle1 として示されます)。
次に、時刻t2
におけるシステムのブート後の合計 CPU 時間 (total2 として記録) とブート後の合計 CPU アイドル時間 (idle2 として記録) を /proc/stat から取得します。 (方法は前と同じです)
最後に、t2 から
t1 までのシステムの合計 CPU 使用率を計算します。あれは: ###
t1 と t2 の間の CPU パーセンテージ = ((total2-total1)-(idle2-idle1))/(total2-total1)* 100%
このうち、((total2-total1)-(idle2-idle1)) は、実際には t1 と t2 の間にシステム CPU が占有されていた時間 (合計時間 - アイドル時間) です。
以下は、一定期間内の CPU 使用率を計算するスクリプトです:
リーリー
###拡大する###
カーネルでは、/proc/stat 内のファイルの実装関数は次のとおりです。
リーリー
###参照する###
http://man7.org/linux/man-pages/man5/proc.5.html
以上がLinuxでの具体的なCPU使用率を計算する場合の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。