https://i.stack.imgur.com/JJ0lk.png
请注意截图。我有一个运行 Asterisk 的 Ubuntu 12.10 机器。前几天我通过 ssh 进入服务器,发现 Asterisk 在一个核心上以 100% 的 CPU 运行,我观察了好几天,发现总是单核 CPU 占用率 100%。我进行了大量的 Google 搜索,发现有同样问题的人并不多,但与我类似的情况并不多。理想情况下,我希望它使用多个核心,或者可能只是不占用 100% 的 CPU,因为我认为这就是我遇到线路质量问题的原因。
我甚至不知道如何开始解决这个问题,有人有什么想法吗?
编辑:(来自 PBX 管理员的附加信息)
系统平均有 20-40 个活动通道。所有入站 SIP,无转码(除所有通话录音的 mix_monitor 外,它会转码为 gsm),g711ulaw 8kHz。
“core showthreads”的结果如下:http://pastebin.com/n26V5LPE
htop 显示星号线程 (PID 1745) 的 CPU 使用率为 106% (似乎是主线程)。
四核超线程。正常运行时间为 45 天。
与级别 0 和 6 的详细程度/调试行为相同。
电话系统即将停机,以修复大量小错误并进行调整。任何帮助都将不胜感激!
答案1
看起来我们的 PBX 管理员正在使用一个奇怪的初始化脚本来启动服务,因此导致 CLI 循环。我们无法通过 ssh 看到循环,并且只有在插入监视器后才能看到它。
我们从 ubuntus 官方存储库中的 deb 中获取了原始的 init 脚本,这解决了高 CPU 问题,但也导致了其他权限问题,我们也解决了这些问题...不用说,我喜欢为我们使用的 Linux 风格制作的官方存储库包,而不是从源代码构建!