LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Kernel (https://www.linuxquestions.org/questions/linux-kernel-70/)
-   -   High CPU utilization on only one CPU out of 4 CPUs (https://www.linuxquestions.org/questions/linux-kernel-70/high-cpu-utilization-on-only-one-cpu-out-of-4-cpus-739927/)

makam.sreekanth 07-14-2009 02:26 AM

High CPU utilization on only one CPU out of 4 CPUs
 
Hi all,

I am doing some high load testing on my Linux OS - 4 CPU box. I observe that all CPUs are at ~20% utilization except CPU-1 which is 50% CPU utilization.

From sar command I came to know there are total 3000 interrupts/s happening in system. And all there interrupts are under "i050/s" column and are bound to to CPU-1.

Below is the sar output:

04:57:40 CPU i000/s i003/s i008/s i009/s i014/s i050/s
04:57:50 0 12.09 0.00 0.00 0.00 0.00 0.00
04:57:50 1 0.00 0.00 0.00 0.00 0.00 2562.94
04:57:50 2 87.91 0.00 0.00 0.00 0.00 0.00
04:57:50 3 0.00 0.00 0.00 0.00 0.00 0.00


Now the "cat /proc/interrupt" output shows that most of these interrupts are coming from "eth4"

Now below are my questions:

1. What is this i050/s means?
2. Why are they so many interrupts coming from eth4?
3. Why are they always uses CPU-1? Is there any way I can distribute load to other CPUs?

deadeyes 07-15-2009 03:18 PM

If I am not mistaken alot of network interfaces can only use 1 CPU. This is because by design (in the old days when multicore systems didnt exist yet)

Please anyone, if I tell something wrong, correct me

praveen24 09-03-2009 04:12 AM

Probable Solution
 
One thing is simple if you have so many interrupts comming from eth4 then your system is receiving that much of packets.Now the point is that did you try to distribute load of eth4 by doing something like this

#echo f > /proc/irq/<eth4 interrupt no.>/smp_affinity

Next check your driver whether it has enabled NAPI or not.
If you have NAPI enabled then the outcome that you are finding is expected because of certain reason and if your card is not supporting multique,RSI,etc. feature.

If your driver has disabled NAPI then you can distribute eth4 load by writing in /proc file.

Let me know If this works or not


All times are GMT -5. The time now is 03:14 AM.