web-dev-qa-db-ja.com

topコマンドの実行中に%CPUを理解する

私は何を理解しようとしている%CPUは、topを実行することを意味します。

私は見ています %CPU(私のアプリケーションでは400または500 その時間の大半。

これが何を意味するのか誰か知っていますか?

高い数値とは何ですか?

19080 david 20 0 27.9g 24g 12m S 400 19.7 382:31.81 paper_client

lscpuは、以下の出力を提供します。

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
Thread(s) per core:    2
Core(s) per socket:    8
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 45
Stepping:              7
CPU MHz:               2599.928
BogoMIPS:              5199.94
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              20480K
NUMA node0 CPU(s):     0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30
NUMA node1 CPU(s):     1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31
74
david

%CPU-CPU使用率:プロセスで使用されているCPUの割合。 デフォルトでは、topはこれを単一CPUのパーセンテージとして表示します。マルチコアシステムでは、より大きなパーセンテージを使用できます100%より。たとえば、3つのコアが60%使用されている場合、topはCPU使用率が180%であることを示します。詳細は here を参照してください。 を押すと、この動作を切り替えることができます Shifti topの実行中に、使用可能なCPUの全体的なパーセンテージを表示します。

上記の引用のソース

代わりにhtopを使用できます。


コアと仮想コアの数についての質問に答えるには:

あなたのlscpu出力によると:

  • 合計32個のコア(CPU(s))があります。
  • 2つの物理ソケット(Socket(s))があり、それぞれに1つの物理プロセッサが含まれています。
  • あなたの各プロセッサには、8つの物理コア(Core(s) per socket)が内部にあります。つまり、8 * 2 = 16個の実際のコアがあります。
  • 各実際のコアは2つのスレッド(Thread(s) per core)を持つことができます。つまり、実際のコア*スレッド= 16 * 2 =合計32コアがあります。

つまり、16個の実際のコアから32個の仮想コアがあります。

thisthis および this リンクも参照してください。

114
polym

コアがたくさんあるということです。最大で1つのコアは100%です。だからそれができる最高はnumber_of_cores × 100%

アプリが400%である理由を確認する必要があります。

4
ctrl-alt-delor