top - 08:43:16 up 96 days, 22:16, 1 user, load average: 4.03, 3.92, 3.98
Tasks: 199 total, 1 running, 198 sleeping, 0 stopped, 0 zombie
Cpu0 : 0.0%us, 0.5%sy, 50.0%ni, 49.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 3.9%sy, 46.8%ni, 49.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.0%us, 3.0%sy, 47.5%ni, 49.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.0%us, 5.0%sy, 45.5%ni, 49.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3593 foldinga 39 19 276m 80m 2972 S 402 1.0 12:55.42 FahCore_a3.exe
现在,top怎么说它使用100%的CPU(400%/ 4核心),而正好一半的处理器是空闲的?
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 30
model name : Intel(R) Xeon(R) CPU X3440 @ 2.53GHz
stepping : 5
cpu MHz : 2526.932
cache size : 8192 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 6
initial apicid : 6
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dts tpr_shadow vnmi flexpriority ept vpid
bogomips : 5054.02
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
编辑:为了回应i_grok和Max Alginin,我确保在服务器上启用了超线程.一旦我打开它,现在是顶部的结果.注意,同样的症状很明显.
top - 10:17:01 up 47 days, 10:28, 3 users, load average: 7.93, 7.96, 8.02
Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie
Cpu0 : 0.0%us, 2.8%sy, 42.0%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 2.2%sy, 42.5%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 1.2%us, 3.7%sy, 95.1%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.0%us, 1.7%sy, 43.1%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu4 : 0.0%us, 1.1%sy, 43.6%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu5 : 0.0%us, 0.0%sy, 44.8%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu6 : 0.0%us, 2.2%sy, 42.5%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu7 : 0.0%us, 1.7%sy, 43.1%ni, 55.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8177700k total, 6258704k used, 1918996k free, 29248k buffers
Swap: 0k total, 0k used, 0k free, 5203172k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8132 foldinga 39 19 557m 99m 3060 S 796 1.2 1510:53 FahCore_a3.exe
解决方法:
扩展Max的答案:具有超线程的处理器在实际存在单个物理核心时向操作系统报告两个核心. Linux看到4个内核,但您的处理器有2个物理内核.
物理内核具有高级调度功能和一些额外的晶体管来处理第二个线程,但对于许多处理器密集型应用,超线程并不能提供实际的好处.
在我的领域,我们对将在系统上运行的应用程序进行基准测试,并在BIOS中禁用超线程,否则会影响性能.
编辑:
如果我使用cat / dev / urandom加载一半核心> / dev / null这是我在运行CentOS 6的现代Xeon上得到的:
top - 19:32:38 up 1 day, 8:17, 3 users, load average: 12.13, 8.73, 4.07
Tasks: 694 total, 13 running, 681 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 50.4%sy, 0.0%ni, 49.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 49552656k total, 2693452k used, 46859204k free, 186448k buffers
Swap: 15999992k total, 0k used, 15999992k free, 469560k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21193 root 20 0 98.5m 560 452 R 100.0 0.0 6:23.31 cat
21194 root 20 0 98.5m 560 452 R 100.0 0.0 6:22.76 cat
21195 root 20 0 98.5m 560 452 R 100.0 0.0 6:22.38 cat
21201 root 20 0 98.5m 560 452 R 100.0 0.0 6:21.98 cat
21202 root 20 0 98.5m 560 452 R 100.0 0.0 6:21.62 cat
21203 root 20 0 98.5m 560 452 R 100.0 0.0 6:21.36 cat
21206 root 20 0 98.5m 560 452 R 100.0 0.0 6:20.43 cat
21187 root 20 0 98.5m 560 452 R 99.6 0.0 6:24.45 cat
21204 root 20 0 98.5m 560 452 R 99.6 0.0 6:21.03 cat
21205 root 20 0 98.5m 560 452 R 99.6 0.0 6:20.73 cat
21213 root 20 0 98.5m 560 452 R 99.6 0.0 6:20.09 cat
21214 root 20 0 98.5m 560 452 R 99.6 0.0 6:19.70 cat
标签:linux,top
来源: https://codeday.me/bug/20190810/1636536.html