[asterisk-users] Asterisk 13 High CPU usage

Matthew Jordan mjordan at digium.com
Tue Aug 9 09:58:24 CDT 2016


On Sat, Aug 6, 2016 at 11:13 AM, Chirag Desai <djchillerz at gmail.com> wrote:
> All,
>
> I upgraded to asterisk 13.10. I have minimal load on the box. 20-30 calls a
> day.
>
> Right now, there are no calls on the box at all.
>
> top shows me this:
>
> PR 20
>
> NI 0
>
> VIRT 1570540
>
> RES 84620
>
> SHR 26296
>
> S S
>
> %CPU 99.7
>
> %MEM 8.4
>
> TIME+ 3468:39
>
> COMMAND asterisk
>
> When I run this command
> while true; do top -Hbc -p `pgrep asterisk` -n 1 && asterisk -rx "core show
> threads"; sleep 1; done
>
> I get this
>
> PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
> 29079 root      20   0 1570540  84620  26296 R 37.5  8.4   1178:31 asterisk
> 29010 root      20   0 1570540  84620  26296 R 31.2  8.4   1197:07 asterisk
> 29047 root      20   0 1570540  84620  26296 R 31.2  8.4   1186:48 asterisk
>
> Any ideas??
>
>
> --------------------
>
> Previous message
> --------------------
>
>
> Hi all,
>
> I was using 13.5 but upgraded today to 13.9 (13.10 came out a few hours
> after I upgraded).
>
> On both 13.5 and 13.9 asterisk seems to use 100% of the CPU. This usually
> happens a few hours after starting asterisk. A restart of asterisk gets the
> CPU back down, but only for a little while.
>
> There asterisk box has no call traffic flowing through it, just 15 or so
> registrations.
>
> I'm sure this is not best practise but for now I am using chan_sip and
> pjsip at the same time. My pjsip endpoints are using TLS.
>
> I am not sure where to start looking in order to debug the CPU usage by
> asterisk and would very much appreciate some guidance.
>
> Kind regards,
>
> Chirag

Hi Chirag -

That does seem a bit odd. If you have 'core show threads', then you do
have DEBUG_THREADS enabled, which can cause a pretty hefty performance
hit - but I still wouldn't expect your CPUs to just be sitting there
spinning.

Can you get a backtrace of the threads? [1] Make sure you have
DONT_OPTIMIZE and BETTER_BACKTRACES enabled. That should show us what
the threads are doing, which would give us a better idea of what is
spending all the time processing things.

[1] https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

-- 
Matthew Jordan
Digium, Inc. | CTO
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org



More information about the asterisk-users mailing list