Cpu

執行 top 命令時了解 %CPU

  • January 11, 2020

我試圖理解%CPU我跑步時的含義top

在大多數情況下,我都會看到%CPU我的申請。400``500

有誰知道這是什麼意思?

什麼數是高數?

19080 大衛 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

%CPU – CPU 使用率:程序正在使用的 CPU 百分比。**預設情況下,top將其顯示為單個 CPU 的百分比。**在多核系統上,您可以擁有大於 100% 的百分比。例如,如果 3 個核心的使用率為 60%, top則 CPU 使用率為 180%。請參閱此處了解更多資訊。 您可以通過在執行時****點擊來切換此行為,以顯示正在使用的可用 CPU 的總體百分比。Shift``i``top

以上報價來源

你可以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 個虛擬核心。

另請參閱連結。

引用自:https://unix.stackexchange.com/questions/145247