2012-09-07 23 views
5

私のC++アプリケーションの1つは、非常に高いCPUが一番上に表示されていますが、負荷はかなり低いです。 myappは常に "トップ"コマンドの最上部に表示される約30%を占めますが、負荷は常に0.00のようなので、負荷と%CPU列の違いは何ですか?%CPU列と負荷が最上部に表示されます

top - 14:09:54 up 62 days, 2:52, 1 user, load average: 0.00, 0.00, 0.00 
Tasks: 124 total, 1 running, 123 sleeping, 0 stopped, 0 zombie 
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni, 99.3%id, 0.3%wa, 0.0%hi, 0.3%si, 0.0%st 
Mem: 2054824k total, 1440364k used, 614460k free,  4644k buffers 
Swap: 4194296k total, 16604k used, 4177692k free, 610784k cached 

PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                       
14774 root  20 0 1201m 9416 1856 S 28.3 0.5 376:13.50 myapp                       
14746 mysql  20 0 2012m 157m 3888 S 0.3 7.8 5:01.08 mysqld                       

%CPUと負荷の違いを教えてもらえますか?

ありがとうございます!例えばtopために示す

答えて

6

%のCPUuptimeで示す負荷平均であるが、その時に使用されているもの、すなわち、intantaneousある:

これは、従来の形式で表示され最後の1時間、5時間、および15分間の を表す3つの数字 ピリオド。

Wikipedia

これは収束するはずですが、%CPUは最大100%ですが、待機中のプロセスがあるにもかかわらず、負荷は1より大きくなる可能性があります。例えば:

例えば、一つとして 単一CPUシステムの「1.73 0.50 7.98」の荷重平均を解釈することができます。最後の分の間

は、CPUが(73%によってオーバーロードされました最後の5分の間に1.73実行可能なプロセスで1 CPU、0.73プロセスは順番を待たなければならなかったように)

は、CPUが50%を過小ました(何のプロセスが順番を待たなければならなかったん)の間

最後の15分、CPUオーバーロードされた698%(1 CPUと7.98実行可能proc esses、6.98プロセスは 順番を待たなければならなかったように)

アップデート:topは、両方のCPUは> 99%であると報告しながら、

私は今、あなたのプロセスは、28%のCPUを使用していたことに気づきましたアイドル。 Linuxシステム(Ubuntu 12.04、Intel i7-3770K quadcore HT)でこれを再現できませんでした。以下のスクリーンショットを参照してください。CPU使用率を示す

通常のセットアップ、無負荷は、すべてのコアにわたって平均一個のコア(yes > /dev/nullを実行)に

top - 18:10:04 up 7:50, 2 users, load average: 0.00, 0.05, 0.15 
Tasks: 157 total, 1 running, 156 sleeping, 0 stopped, 0 zombie 
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Mem: 16528224k total, 1124956k used, 15403268k free, 148772k buffers 
Swap: 15624188k total,  0k used, 15624188k free, 670460k cached 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
    7022 root  20 0  0 0 0 S 0 0.0 0:00.14 kworker/0:1   
    1 root  20 0 3640 2060 1324 S 0 0.0 0:01.23 init    
    2 root  20 0  0 0 0 S 0 0.0 0:00.00 kthreadd   
    3 root  20 0  0 0 0 S 0 0.0 0:00.14 ksoftirqd/0   
    6 root  RT 0  0 0 0 S 0 0.0 0:00.00 migration/0 

全負荷を、CPU使用率を示す、すべてのコアにわたって平均:

top - 18:11:58 up 7:52, 2 users, load average: 0.11, 0.07, 0.15 
Tasks: 157 total, 2 running, 155 sleeping, 0 stopped, 0 zombie 
Cpu(s): 12.5%us, 0.0%sy, 0.0%ni, 87.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Mem: 16528224k total, 1124880k used, 15403344k free, 148824k buffers 
Swap: 15624188k total,  0k used, 15624188k free, 670472k cached 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND   
8254 tim  20 0 4188 280 228 R 100 0.0 0:04.88 yes     
    1 root  20 0 3640 2060 1324 S 0 0.0 0:01.23 init    
    2 root  20 0  0 0 0 S 0 0.0 0:00.00 kthreadd   
    3 root  20 0  0 0 0 S 0 0.0 0:00.15 ksoftirqd/0   
    6 root  RT 0  0 0 0 S 0 0.0 0:00.00 migration/0   

と同じ)2などが、コアごとのCPU使用率を示す:

top - 18:13:47 up 7:54, 2 users, load average: 0.86, 0.36, 0.24 
Tasks: 157 total, 2 running, 155 sleeping, 0 stopped, 0 zombie 
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu2 : 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu4 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu5 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu6 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Cpu7 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Mem: 16528224k total, 1124756k used, 15403468k free, 148840k buffers 
Swap: 15624188k total,  0k used, 15624188k free, 670472k cached 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND   
8254 tim  20 0 4188 280 228 R 100 0.0 1:53.98 yes     
    1 root  20 0 3640 2060 1324 S 0 0.0 0:01.23 init    
    2 root  20 0  0 0 0 S 0 0.0 0:00.00 kthreadd   
    3 root  20 0  0 0 0 S 0 0.0 0:00.15 ksoftirqd/0   
    6 root  RT 0  0 0 0 S 0 0.0 0:00.00 migration/0   

NB:は、私が最初に統計topショーは、yesのために類似し、100%のCPU使用率を示していないことに注意しましたあなたが持っているもの。多分それが問題でしたか?

+0

奇妙なことに、myappは%CPU列では常に約30回かかりますが、負荷は0.10を超えることはありません。 –

+1

これは、負荷はCPU以外の他のリソースも測定するため、またはシステムに複数のCPUがあるために発生する可能性があります。これについては、マンページで詳しく説明します。 – Tim

+0

あなたは両方のCPU負荷が99%以上のアイドル状態であることを見ることができます –

関連する問題