2.6 smp kernel ignores multiple processors
Hi,
I'm running kernel 2.6.9-1.681_FC3smp on a dual processor Intel Xeon with hyperthreading turned on (/proc/cpuinfo thus shows four processors). I installed FC3 (and the 2.6 kernel) by upgrading RH9 using .iso files. I then updated the kernel by rpm only (there is no self-compiled kernel on my machine). Thus: [katz@trane /proc]$ rpm -q kernel kernel-2.6.9-1.667 kernel-2.6.9-1.681_FC3 however, when i run top I see: Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2% us, 0.0% sy, 0.0% ni, 99.8% id, 0.0% wa, 0.0% hi, 0.0% sMem: 2072300k total, 1587240k used, 485060k free, 385004k buffers Only one processor! Below, in the process list given by top, there is no column for the processor number on which each process is running. So it seems that although the smp kernel is installed and running, it is ignoring the fact that there are 4 CPUs available. Any ideas? If I compile a new kernel on my machine will it cause future problems with the update app that checks for new kernel builds? Thanks Rich |
Did you check that gkrellm (a system monitor) shows all the processors?
Take a look at cat /proc/cpuinfo Did you ran lilo after the update (if lilo is your bootloader) |
Thanks for those ideas.
I did look at /proc/cpuinfo and found (with some parts omitted): [root@trane]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.80GHz [...] processor : 1 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.80GHz [...] processor : 2 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.80GHz stepping : 7 [...] processor : 3 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.80GHz [...] I also install gkrellm, a nice program. It shows 4 processors active. Great! So my problem was not with the number of CPUs working but with the fact that top seems to be aware of only one of them. Not such a big deal but would be nice to fix this. Here's some output from top: Tasks: 103 total, 4 running, 99 sleeping, 0 stopped, 0 zombie Cpu(s): 71.5% us, 4.5% sy, 0.0% ni, 23.9% id, 0.0% wa, 0.0% hi, 0.1% sMem: 2072300k total, 1928888k used, 143412k free, 385628k buffers Swap: 4192956k total, 144k used, 4192812k free, 394228k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 31113 katz 19 0 121m 101m 17m R 99.9 5.0 0:42.26 subSim 31114 katz 16 0 122m 102m 17m R 99.9 5.0 0:43.82 subSim 31115 katz 17 0 121m 101m 17m R 94.8 5.0 0:41.09 subSim 6 root RT 0 0 0 0 S 5.3 0.0 6:40.21 migration/2 31076 root 15 0 16540 9628 13m S 1.7 0.5 0:05.74 gkrellm 31031 katz 15 0 7024 2304 3664 S 1.0 0.1 0:02.42 sshd 2664 root 15 0 19972 9420 12m S 0.7 0.5 87:31.48 X 31116 root 16 0 2508 1020 1672 R 0.3 0.0 0:00.04 top 1 root 16 0 3040 660 1420 S 0.0 0.0 0:01.38 init 2 root RT 0 0 0 0 S 0.0 0.0 0:02.46 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0 4 root RT 0 0 0 0 S 0.0 0.0 0:04.32 migration/1 5 root 34 19 0 0 0 S 0.0 0.0 0:00.15 ksoftirqd/1 No list of the activity of 4 procs, nor a column that says which CPU is running which process. Thanks Rich |
Thats a top issue. If you want to really put all those processors to work. Start up gkrellm. Then compile a new kernel. Don't need to install just do the make. type ' make -j4 ' (might be able to do -j8 ). Watch all the processors go crazy. Most apps are not smp compliate as you think. One app starts on one then another on another one maybe.
Processes are handled by the Linux Scheduler. Search for that. Way over my head. Brian1 " Google the Linux way @ http://www.google.com/linux " |
I've noticed that the FC3 version of top by default shows summary statistics for all CPUs in 1 line. if you want to see per CPU totals, press the 1 key while in top.
|
Thanks all.
This is an amazingly efficient way to learn about linux. Cheers Rich |
All times are GMT -5. The time now is 11:21 AM. |