trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sridhar basam <...@basam.org>
Subject Re: High idle cpu utilization on RHEL6
Date Fri, 30 Sep 2011 14:19:15 GMT
On Wed, Sep 28, 2011 at 3:35 PM, Brian Geffon <briangeffon@gmail.com> wrote:

> Hi,
> I'm encountering something strange with ATS3.0.1 on Red Hat Enterprise
> Linux 6, using a vanilla build with no modules enabled and the default
> records.config /w zero entries in the remap file, ATS is idling at very high
> CPU (around 15-20%).
>
> root     13509  0.0  0.0  58512  2392 ?        Ss   19:15   0:00
> /usr/local/ats3.0.1plain//bin/traffic_cop
> nobody   13511  0.1  0.0 480072 16632 ?        Sl   19:15   0:00
> /usr/local/ats3.0.1plain/bin/traffic_manager
> nobody   13521 ***16.9***  0.1 1584628 114224 ?      Sl   19:15   2:06
> /usr/local/ats3.0.1plain/bin/traffic_server -M -A,7:X
>
> So I used strace to try to determine what might be causing this, and here
> is what i've found:
>
> [root@machine]# strace -c -p 13521
> Process 13521 attached - interrupt to quit
> ^CProcess 13521 detached
> % time     seconds  usecs/call     calls    errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 100.00    3.589451         796      4510           epoll_wait
> ------ ----------- ----------- --------- --------- ----------------
> 100.00    3.589451                  4510           total
> [root@machine]#
>
>
> It appears that it's entirely epoll_wait, and each call is taking 796
> microseconds! So I have to concerns with this, first, why would epoll_wait
> take such a long amount of time, 796 microseconds seems like a long time,
> and more importantly, how could it possibly be called so frequently, does
> ATS use a short timeout when doing epoll_waits?
>
> I would really appreciate any feedback regarding this, has anyone else
> experienced this? Is there anywhere else I might look to determine the cause
> of this? Could this be classified as _normal_ behavior?
>
>
>
It is working as designed. The epoll timeout is set to 0 or 10 msec on
linux. Could there be very little or no load going through this instance?
That would explain why you are only seeing epoll_wait. In that case there
isn't really anything wrong, the process is just burning through epoll_waits
looking for something to do when nothing is available. Once the process
starts taking enough traffic, you will start to see user space and other
kernel functions start to take cpu time.

 Sridhar

Mime
View raw message