Mag Gam put forth on 11/28/2010 7:10 AM:
> Stan,
> 
> thanks for the response.
> 
> To my understanding, CONFIG_HZ is a kernel time option. Has that
> changed? I can certainly rebuild the kernel. How can I check via /proc
> what my HZ is currently set at? Is there a tool to determine this for
> me?

I don't believe you can find this in /proc or /sys.  On one of my
servers, "grep CONFIG_HZ /boot/config-2.6.34.1" gives the following:

# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250

I roll my own kernels from vanilla source and I use some options likely
different than the Debian way of kernel building.  I manually set
CONFIG_HZ=250 on my servers these days as I don't run latency sensitive
applications.

As I stated, CONFIG_HZ sets the frequency of the kernel timer.  This
dictates, roughly, how many times per second the kernel interrupts
itself to do housekeeping, such as process/thread scheduling, etc.  The
higher this value, in general, the more responsive the system is,
yielding lower latency for applications.

I learned this lesson long ago hosting multiple Half Life game servers,
of all things.  With a default Debian kernel, at that time, the kernel
timer was 250Hz, common for "server" kernels where throughput is more
important that application or network packet latency.  Increasing the
kernel timer to 1000Hz dropped game packet response times by a factor of
3, from say 75ms to 25ms.  This completely changed the character of game
play, eliminated lag, turned a lot of shot misses into hits, etc.  I
doubt one could find a more latency sensitive application than a first
person shooter game server.  Alas I've been away from that for a long
time.  :(

> Removing tasks from cron has helped! We had some weird random tasks
> starting up at production hours which causes interrupts. This is a
> notoriously underestimated tip.

When building HPC clusters from COTS boxes and off the shelf Linux
distros, the very fist thing done to optimize MPI application
performance is to remove all cron jobs and anything else that might fire
off a process at any random time.  Many/most distros create several
default cron jobs, the most common being log rotation.  In fact, on many
HPC clusters, the OPs completely disable cron altogether.  MPI
applications are extremely latency sensitive, especially when using GigE
as the interconnect instead of something like Infiniband, which has an
inherent latency advantage on the order of 30:1 or more.

-- 
Stan


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4cf2efd5.1050...@hardwarefreak.com

Reply via email to