I agree that it seems to be a peculiarity of virtualisation; I haven't reproduced this on bare metal. But it's a bit odd when it appears in KVM, Xen, and, evidently, per Olle's report, VMware, despite the fact that these are all rather different implementations.
-- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Sent from my BlackBerry. Original Message From: Daniel-Constantin Mierla Sent: Monday, April 20, 2015 11:49 To: Kamailio (SER) - Development Mailing List Reply To: miconda@gmail.com Subject: Re: [sr-dev] ASYNC module - CPU load
IIRC, the issue appeared to be related to virtualization, because the the process should have been blocked in I/O state by recvfrom().
Anyhow, to confirm this, look at the process using lot of cpu with gdb and get the backtrace:
gdb /path/to/kamailio PID bt
Cheers, Daniel
On 20/04/15 11:24, Alex Balashov wrote:
I encountered the identical condition inside VirtualBox and remarked upon it to the list previously. This is why I had to revert to rtimer + mqueue + tm_suspend/continue manual approaches.
-- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Sent from my BlackBerry. Original Message From: Olle E. Johansson Sent: Monday, April 20, 2015 03:58 To: Kamailio (SER) - Development Mailing List Reply To: Kamailio (SER) - Development Mailing List Subject: [sr-dev] ASYNC module - CPU load
Good morning!
In one installation where Kamailio runs in a VMware virtual machine we use Async in a registrar.
There's no traffic - only one SIP device registred - but the CPU load goes up.
If we change the workers to 1 CPU load goes down, if we set it to 8 CPU load average quickly goes up to 3. If we add a second CPU, nothing changes. Again, with no traffic. The CPU load is directly related to number of workers, but not if they are used or not.
My conclusion is that something in the Async module is causing CPU load regardless of traffic - primarily depending on the number of workers.
I don't think that's the correct behaviour ;-)
Kamailio 4.2.0
Cheers, /O _______________________________________________ sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev