0

以下是输出,cat /etc/cpuinfo并没有说明核心是否超线程。如何确定两个线程是否可以同时运行?

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 26
model name  : Intel(R) Xeon(R) CPU           E5507  @ 2.27GHz
stepping    : 5
microcode   : 0x11
cpu MHz     : 2266.750
cache size  : 4096 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 6
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc up rep_good nopl nonstop_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm
bogomips    : 4533.50
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:
4

1 回答 1

1

如何确定两个线程是否可以同时运行?

如果只有处理器:0,那么你有一个物理 CPU。这意味着一次只能真正运行一个线程。引用超线程上的维基百科页面

它们在操作系统看来是两个处理器,因此操作系统可以同时调度两个进程。此外,两个或多个进程可以使用相同的资源。如果一个进程失败,那么资源可以很容易地重新分配。

所以我很确定即使使用超线程,它们也会在您的 EC2 虚拟机中显示为多个 CPU 条目:处理器:1,处理器:2,...如果它们存在。

于 2013-05-08T11:29:10.397 回答