Re: high cpu utilization

From: Marc Breslow <marc#mbreslow.net>
Date: Sun, 17 Feb 2008 00:04:03 -0500


I ran the commands you said and learned that I'm not using epoll :( The make file says it's automatic on Linux 2.6 and my kernel is 2.6.9-55. I just rebuilt actually specifying target=linux26 and now epoll is enabled. I think I just misunderstood what "automatic" meant. The Makefile clearly says "you should build with TARGET=os" but after reading further and seeing "enable epoll on Linux 2.6. Automatic" I didn't think I needed to. My bad.

I ran the -vv switch on the binary you have on the haproxy site but it looks like you compiled with some options that require kernel patches that I probably don't have (USE_TCPSPLICE and USE_TCPSPLICE) - are those key? What would that help with?

So now I've rebuilt haproxy and ran your test config and see the same output that you saw where as with the build I had been running I saw: Available polling systems :

       poll : pref=200,  test result OK
     select : pref=150,  test result OK

Total: 2 (2 usable), will use poll.
Using poll() as the polling mechanism.

Knowing how big an improvement epoll has over poll, I'm sure this will work wonders.

So I recompiled and did a soft-restart of haproxy using the new binary. Looks like the problem is solved! Thank you so much. ---Marc

top - 00:01:07 up 12:34, 1 user, load average: 0.11, 0.64, 0.90

Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.7% us,  2.4% sy,  0.0% ni, 96.2% id,  0.0% wa,  0.7% hi,  0.0% si
Cpu1  :  0.3% us,  1.7% sy,  0.0% ni, 97.3% id,  0.0% wa,  0.7% hi,  0.0% si
Mem:   2074716k total,   470860k used,  1603856k free,   100432k buffers
Swap:  8385912k total,        0k used,  8385912k free,   181148k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+
COMMAND
  785 root      15   0 32960  17m  372 S    4  0.9   0:06.29haproxy
Received on 2008/02/17 06:04

This archive was generated by hypermail 2.2.0 : 2008/02/17 06:15 CET