Present Location: News >> Blog >> Tickless oddities

Blog

> Tickless oddities
Posted by prox, from Sarasota, on November 19, 2007 at 22:08 local (server) time

I am assuming that CONFIG_NO_HZ is the cuplrit here, but I'm not sure.

A little over a week ago, I upgraded nonce, my dedicated server in Tampa, FL, to Linux 2.6.22 (the linux-image-2.6.12-1-686 package provided in the Debian GNU/Linux distribution).  There are just a few changes from the old kernel, 2.6.18, one of which is dynaticks (CONFIG_NO_HZ), a patch that allows the kernel to only create timer ticks when needed.  It's supposed to improve power consumption and efficiency, which translates as lower CPU utilization (to me, at least).

A little background is required, first.  nonce, an Intel Celeron 2.0GHz-powered i386 box with 512MiB of RAM and a 100Mb Internet connection, runs the testing distribution of Debian GNU/Linux.  It acts as a public NTP server (pool.ntp.org), SMTP/IMAPS server for prolixium.com (and a few others), DNS server, OpenVPN tunnel aggregator, and Quake 4 server.  Other than having quite a bit in memory at any given time, it's not a very loaded box.  CPU usage typically sits around 8-10%.

After upgrading to 2.6.22, it was apparent that CPU usage had risen dramatically, to around 35-38% when idle.  Shutting down the Quake 4 server returns the CPU load to around 5%, so it's definitely the culprit, but why?

nonce CPU usage

I suspect that the q4ded binary is just poorly-coded.  The load average has risen, too, as has the average CPU temperature.  It's certainly not a measurement anomaly.

Comment by John on January 24, 2008 at 04:57 local (server) time

I noticed a similar rise in CPU usage after upgrading to a tickless kernel.
In my case, the culprit was a custom perl script using threads and sockets.
I am suspicious that select() is keeping the cpu awake for some reason.


> Add Comment

New comments are currently disabled for this entry.