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はプロセッサの正確に半分がアイドル状態なのにCPUの100%(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
ベストアンサー1
Maxの回答の拡張:ハイパースレッディングを使用するプロセッサは、実際には1つの物理コアしかありませんが、オペレーティングシステムに2つのコアを報告します。 Linuxには4つのコアがありますが、プロセッサには2つの物理コアがあります。
物理コアには高度な予約機能と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