4

を読み取る/proc/statと、次の戻り値が得られます。

cpu  20582190 643 1606363 658948861 509691 24 112555 0 0 0                      
cpu0 3408982 106 264219 81480207 19354 0 35 0 0 0                               
cpu1 3395441 116 265930 81509149 11129 0 30 0 0 0                               
cpu2 3411003 197 214515 81133228 418090 0 1911 0 0 0                            
cpu3 3478358 168 257604 81417703 30421 0 29 0 0 0                               
cpu4 1840706 20 155376 83328751 1564 0 7 0 0 0                                  
cpu5 1416488 15 171101 83410586 1645 13 108729 0 0 0                            
cpu6 1773002 7 133686 83346305 25666 10 1803 0 0 0                              
cpu7 1858207 10 143928 83322929 1819 0 8 0 0 0

一部の情報源は、CPU 使用率を計算するために最初の 4 つの値のみを読み取ると述べていますが、一部の情報源はすべての値を読み取ると述べています。

CPU 使用率を計算するために最初の 4 つの値のみを読み取るか。値usernicesystem、およびidle? それとも、すべての値が必要ですか? それともすべてではなく、4つ以上ですか?iowait、、irqまたはが必要softirqですか?

cpu  20582190 643 1606363

ライン全体に対して。

cpu  20582190 643 1606363 658948861 509691 24 112555 0 0 0

編集:一部のソースにiowaitは、 に追加されたという記述もありidleます。

特定のプロセスの CPU 使用率を計算する場合、方法は異なりますか?

4

1 に答える 1

2

マニュアルページには、アーキテクチャによって異なると記載されており、それらの違いを説明するいくつかの例も示されています。

Linux 2.6 では、この行に次の 3 つの列が追加されています: ...

Linux 2.6.11 以降、8 番目の列があり、...

Linux 2.6.24 以降、9 番目の列があります...

「何人かが…だけを使うと言った」とき、彼らはおそらくこれらを考慮していませんでした.

CPU 間で計算が異なるかどうかについて: 「cpu」、「cpu0」、「cpu1」、... に関連する行が /proc/stat にあります。「cpu」フィールドはすべて、個々の CPU に対応するフィールドの集計 (平均ではない) です。簡単な awk ワンライナーでそれを自分で確認できます。

CPU 84282 747 20805 1615949 44349 0 308 0 0 0

cpu0 26754 343 9611 375347 27092 0 301 0 0 0

cpu1 12707 56 2581 422198 5036 0 1 0 0 0

cpu2 33356 173 6160 394561 7508 0 4 0 0 0

cpu3 11464 174 2452 423841 4712 0 1 0 0 0

于 2013-02-28T14:58:40.957 に答える