<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Thank you George.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It is using local file based configuration files.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Other factors.<o:p></o:p></p>
<p class="MsoNormal">We run Asterisk in realtime mode to allow it to run as fast as possible.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I just learned customer upgraded to 24 CPU cores. Although, I’m not sure they actually assigned 24 physical cores to this machine or just increasing Hyper-V values.<br>
<br>
<o:p></o:p></p>
<p class="MsoNormal">I will monitor for additional information and see if the customer will allow me to capture a coredump when problems are happening.<o:p></o:p></p>
<p class="MsoNormal">Waiting for them to report an incident.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is a small sample of the system right now (24 cores), to the best of my knowledge it’s running fine.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">top -p 1509 -n 1 -H -b<o:p></o:p></p>
<p class="MsoNormal">top - 15:06:32 up 9:06, 2 users, load average: 6.02, 5.59, 5.26<o:p></o:p></p>
<p class="MsoNormal">Threads: 1709 total, 8 running, 1701 sleeping, 0 stopped, 0 zombie<o:p></o:p></p>
<p class="MsoNormal">%Cpu(s): 3.1 us, 2.5 sy, 0.0 ni, 94.3 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st<o:p></o:p></p>
<p class="MsoNormal">KiB Mem : 32143072 total, 29750072 free, 1016132 used, 1376868 buff/cache<o:p></o:p></p>
<p class="MsoNormal">KiB Swap: 8388604 total, 8388604 free, 0 used. 30697060 avail Mem<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND<o:p></o:p></p>
<p class="MsoNormal"> 1830 root -11 0 13.741g 493680 28828 R 99.9 1.5 174:13.39 asterisk<o:p></o:p></p>
<p class="MsoNormal"> 1541 root -11 0 13.741g 493680 28828 R 14.3 1.5 20:03.30 asterisk<o:p></o:p></p>
<p class="MsoNormal">33601 root -11 0 13.741g 493680 28828 S 9.5 1.5 0:16.30 asterisk<o:p></o:p></p>
<p class="MsoNormal">46605 root -11 0 13.741g 493680 28828 S 9.5 1.5 0:30.06 asterisk<o:p></o:p></p>
<p class="MsoNormal"> 2295 root -11 0 13.741g 493680 28828 S 4.8 1.5 12:25.50 asterisk<o:p></o:p></p>
<p class="MsoNormal"> 2297 root -11 0 13.741g 493680 28828 S 4.8 1.5 1:10.59 asterisk<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> asterisk-users <asterisk-users-bounces@lists.digium.com>
<b>On Behalf Of </b>George Joseph<br>
<b>Sent:</b> Tuesday, September 14, 2021 9:39 AM<br>
<b>To:</b> Asterisk Users Mailing List - Non-Commercial Discussion <asterisk-users@lists.digium.com><br>
<b>Subject:</b> Re: [asterisk-users] Large system seeing single CPU core spiking<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Tue, Sep 14, 2021 at 8:07 AM Dan Cropp <<a href="mailto:dan@amtelco.com">dan@amtelco.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I am working with a very large customer running Asterisk with PJSIP. Systems total channels have been over 2500 (which includes hundreds of local channels and ConfBridges) when
the issues occur.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">It’s running on a Hyper-V VM with 12 CPU cores.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Things work fine most of the time.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">They periodically see 10-30 minute periods where audio starts sounding like jitter buffer type issues. Can literally have someone spelling their name and a ConfBridge recording
of it shows the audio is missing a letter or two.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The odd part is another system (not running Asterisk) was handling these calls previously. The overall network has plenty of bandwidth (as evidenced by another system able to handle
the call volume)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">One area that has perplexed us is when using htop, we see a single CPU core will spike to 100%. Which core does keep changing.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Asterisk is definitely the process using the vast majority of the CPU cycles.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We recently found a setting on Hyper-V networking SR-IOV which improved things. Prior to changing this setting, we were seeing SIP OPTIONS packets/responses would occasionally
take more than 3 seconds causing devices to drop and come back online.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We have configured a similar system running at Amazon handling far more traffic and can’t get the single CPU core to spike. Only small static pops during the calls.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The sheer scale of the system is making it hard to diagnose the problem.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Any thoughts on how to diagnose what is causing the single CPU core to spike?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Any thoughts on how to diagnose the problem?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Any other thoughts/comments?<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The first thing I'd do is see where the CPU is spending time: userspace, system, nice, wait, etc.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Is it actually the asterisk process consuming the CPU?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Is Asterisk running with local file-based configs, local database, remote database, etc?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If call quality is really bad already and your customer agrees, you could try the following the next time it happens...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> 1. Run "top -p `pidof asterisk` -n 1 -H -b" to get a list of all of Asterisk's threads and their CPU utilization.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> 2. Run ast_coredumper with the --RUNNING option. This will pause Asterisk while the dump is being generated!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> 3. See if you can correlate the high cpu thread IDs from the top output to the threads listed in the coredumper's -brief.txt file.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That _may_ give you an idea of where to look.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dan<o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:10.0pt"><br>
This email is intended only for the use of the party to which it is addressed and may contain information that is privileged, confidential, or protected by law. If you are not the intended recipient you are hereby notified that any dissemination, copying or
distribution of this email or its contents is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer.
</span><o:p></o:p></p>
</div>
<p class="MsoNormal">-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">
http://www.api-digital.com</a> --<br>
<br>
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" target="_blank">
https://community.asterisk.org/</a><br>
<br>
New to Asterisk? Start here:<br>
<a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" target="_blank">
https://wiki.asterisk.org/wiki/display/AST/Getting+Started</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
<a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
<span style="font-size:10.0pt"><br>
This email is intended only for the use of the party to which it is addressed and may contain information that is privileged, confidential, or protected by law. If you are not the intended recipient you are hereby notified that any dissemination, copying or
distribution of this email or its contents is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer.
</span>
</body>
</html>