5

I'm running real-time application on the dedicated X3440 server and wondering why the application performance is worse than my former VPS box. Then I download http://i7z.googlecode.com/svn/trunk/i7z_64bit and execute it to see that under normal usage (in top around 10% cpu), all CPU core only stays around 900Mhz ~ 1200Mhz, and it fluctuates rapidly and inconsistent.

Then I try to set governor from ondemand to performance (echo performance > /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor), and my application performs better because now all CPU core stays around 1700 ~ 1900Mhz (still fluctuating), but the application performance still doesn't meet my standard yet.

I have trying to disable any scaling completely by typing "service cpuspeed stop", and it's still showing the same result as performance governor. I was wondering why Performance governor didn't lock the CPU frequency at max.

Then I try to run 4 separate dummy nice low-priority tasks in each of the cores: yum install gcc

nano dummy.c

content:

int main() {
    while(1);
}

gcc dummy.c -o dummy

nice taskset -c 0 ./dummy & nice taskset -c 1 ./dummy & nice taskset -c 2 ./dummy & nice taskset -c 3 ./dummy &

This way, all 4 cores will stay at 2533mhz and never fluctuates anymore (regardless of the governor settings), and now my application performs very stellar and no complain whatsoever. But, I don't like the way these tasks waste resource, even though it's not disturbing the main application since it's on low priority.

My question: In my home desktop windows computer, somehow my CPU speed is always going stable at max frequency. But why it doesn't happened on this CentOS 6 2.6.32 x86_64 dedicated server? Is there any way to set all cpu cores to max frequency without using any nice low-priority tasks?

Mysticial
  • 464,885
  • 45
  • 335
  • 332

1 Answers1

0

A short google session brought me this article which suggests a restart of the cpuspeed service is required rather than stopping it.

Nitsan Wakart
  • 2,841
  • 22
  • 27