- 论坛徽章:
- 0
|
请问下各位:
目前使用的是E7400设备,使用的linux 版本为2.6.22编译kernel. 运行后查看cpuinfo,
显示双核,但跑多种服务后显示cpu使用率一直在50%左右。最高双核加起来不高于60%,而且是瞬间值。
因此怀疑一直使用了一个cpu,后来编写一个测试cpu运行的程序(死循环),发现最多只能 跑到50%。也就是单核在处理,
请问是哪里问题?是否在kernel中有没有打开的开关?下边是显示的信息:- [root@abcdef ~]# cat /proc/cpuinfo
- processor : 0
- vendor_id : GenuineIntel
- cpu family : 6
- model : 23
- model name : Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz
- stepping : 10
- cpu MHz : 2793.076
- cache size : 3072 KB
- physical id : 0
- siblings : 2
- core id : 0
- cpu cores : 2
- fdiv_bug : no
- hlt_bug : no
- f00f_bug : no
- coma_bug : no
- fpu : yes
- fpu_exception : yes
- cpuid level : 13
- 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 nx lm constant_tsc pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm
- bogomips : 5588.05
- clflush size : 64
- processor : 1
- vendor_id : GenuineIntel
- cpu family : 6
- model : 23
- model name : Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz
- stepping : 10
- cpu MHz : 2793.076
- cache size : 3072 KB
- physical id : 0
- siblings : 2
- core id : 1
- cpu cores : 2
- fdiv_bug : no
- hlt_bug : no
- f00f_bug : no
- coma_bug : no
- fpu : yes
- fpu_exception : yes
- cpuid level : 13
- 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 nx lm constant_tsc pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm
- bogomips : 5585.17
- clflush size : 64
复制代码 执行测试cpu程序后效果如下:
top - 14:39:56 up 27 min, 3 users, load average: 0.26, 0.61, 0.54
Tasks: 56 total, 2 running, 54 sleeping, 0 stopped, 0 zombie
Cpu(s): 50.0%us, 0.0%sy, 0.0%ni, 49.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 340760k total, 28116k used, 312644k free, 1840k buffers
Swap: 0k total, 0k used, 0k free, 11360k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1551 root 25 0 1440 224 184 R 100 0.1 0:15.67 tcpu
709 root 14 -5 0 0 0 S 0 0.0 0:00.03 kjournald
1 root 15 0 1476 512 456 S 0 0.2 0:00.41 init
2 root 12 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 39 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/1
7 root 39 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1
9 root 10 -5 0 0 0 S 0 0.0 0:00.02 events/0
10 root 10 -5 0 0 0 S 0 0.0 0:00.92 events/1
11 root 20 -5 0 0 0 S 0 0.0 0:00.00 khelper
34 root 10 -5 0 0 0 S 0 0.0 0:00.00 kblockd/0
35 root 10 -5 0 0 0 S 0 0.0 0:00.00 kblockd/
我理解应当是Linux已经支持多核,但是cpu在处理上仍然是一个,是否kernel在处理上,编译的地方要打开一些选项? |
|