+-700 Calls, Load Average +100.00! in a 16gb RAM + 8 cores X5660

Hi guys, Im going nuts here, I think something is leaking…
I’ve a VM
16gb Ram, 8 cores Intel® Xeon® CPU X5660 @ 2.80GHz, and a average of 700 active calls on it with g729.

Is it normal to have so high Load average, around 100?

And time to time, the asterisk goes down, of course, looks like he is using only 1 CPU and not all of them… is it possible to check that?

Thanks

“ps ax|grep asterisk” to get the PIDs used by Asterisk.
“top -p PID1,PID2” to show asterisk processes

pressing 1 will toggle between total CPU’s and individual CPU’s.
pressing H will toggle threads on/off for the selected PIDs.
pressing f will allow you to add a column, use up/down to go to P field, then press to enable/disable column. Finally press Esc. The P column will show the processor last used by the process or thread

Next, monitor activity (s will set refresh interval).

I hope this is what you are looking for.

Do you have a single X5660 CPU with 6 cores/12 threads or do you have 8 X5660s making a total of 48cores/96 threads?

If it’s the second case, a load average of 100 is in line with something your hardware can handle. If it’s the first case, a load average of 100 for any extended period of time is vastly more than 6 cores/12 threads can sustain. As far as what’s normal, that’s typically hardware and use case dependent. Hopefully you’ve done some benchmarking to figure out how your particular use case scales on your hardware.

Asterisk, by design, is multithreaded and should spread work across many of your CPUs. Most multithreaded applications are not perfect, and have portions of the load gravitate towards particular threads, but transcoding should distribute just fine as it occurs in the frame processing thread for a call. Even most multithreaded applications see upper limits to the point where adding CPUs become useful due to particulars of design and data locality processing restrictions.

Aside from the tools already mentioned, you can also use tools like htop to see directly whether or not you have work gravitating towards particular CPUs.

Sounds interesting, and best of luck in your search.
Matthew Fredrickson

2 Likes