Asterisk hat konsistente 100% CPU-Last auf einem Core

4124
Ace

http://i.imgur.com/sySQfsH.png

Bitte beachten Sie den Screenshot. Ich habe eine Ubuntu 12.10 Box, auf der Asterisk läuft. Ich habe mich neulich auf den Server begeben, um herauszufinden, dass Sternchen mit 100% CPU auf einem Core laufen, und ich habe es jetzt mehrere Tage beobachtet, und es ist immer auf 100% CPU auf einem Core. Ich habe eine umfangreiche Google-Suche durchgeführt, um andere Menschen mit dem gleichen Problem und nicht sehr vielen ähnlichen Situationen wie meiner zu finden. Im Idealfall möchte ich, dass mehrere Kerne oder vielleicht nur keine 100% ige CPU verwendet werden, da ich davon ausgehe, dass dies der Grund ist, warum ich Qualitätsprobleme mit den Zeilen habe.

Ich weiß nicht, wie ich anfangen soll, dieses Problem zu beheben. Hat jemand Ideen?

edit: (Zusatzinfo von PBX Admin)

Das System sieht durchschnittlich 20-40 aktive Kanäle. Alle eingehenden SIPs, keine Transcodierung (außer mix_monitor bei allen Aufrufen für Aufzeichnungen, die in gsm umcodiert), g711ulaw 8kHz.

Ergebnis von "Core Show Threads" hier: http://pastebin.com/n26V5LPE

htop zeigt Sternchen-Thread (PID 1745) bei 106% CPU (Haupt-Thread scheint es).

Quad-Core mit Hyperthreading. Betriebszeit 45 Tage.

Gleiches Verhalten bei Ausführlichkeit / Debugging auf den Stufen 0 und 6.

In Kürze ist eine Ausfallzeit des Telefonsystems für viele kleine Fehlerbehebungen und Abstimmungen geplant. Jede Hilfe wird sehr geschätzt!

1
Ich habe mehrere Fragen: 1) Welche Version von Sternchen? 2) Was macht mix-mon genau? (Es ist bekannt dafür, viel CPU zu verwenden) 3) Verwenden Sie einen von Hand bearbeiteten Dialplan? oder eine vorgefertigte Distribution? 4) Sie haben "Qualitätsprobleme" erwähnt ... welche Art von Qualitätsproblemen? TheCompWiz vor 11 Jahren 0
`1) Sternchen 10.9` ===` 2) [DID_trunk_1] exten = _X., 1, Set (CALLFILENAME = did / $ ,% Y)} / $ ,,% m)} / $ ,% d)} / $ ,% H% M% S)} - $ - $ ) exten = _X., N, MixMonitor ($ .gsm) exten = _X., N, Set (AUDIOHOOK_INHERIT (MixMonitor) = ja) exten = _X., N, Set (TIMEOUT (absolut)) = 21600); 6 Stunden Zeit = _X., N, Springen (DID_Trunk_continue, $ , 1) ... `===` 3) Ja, von Hand bearbeitet, umfangreich. `===` 4) TK-Anlage Der Administrator hat keine konsistenten Qualitätsbeschwerden gehört und konnte sie nicht für Softphone, PBX oder Anrufer isolieren. " Ace vor 11 Jahren 0
@TheCompWiz Entschuldigung für den obigen Kommentar. Ich bin nicht zufrieden mit der Formatierung. Daher ist hier eine Antwort auf Ihre Fragen: [http://paste.ubuntu.com/1593633/] Ace vor 11 Jahren 0
Haben Sie versucht, die Transcodierung zu deaktivieren? (mixmon zu einem .g711 stattdessen) Welche Art von Kanälen verwenden Sie? IAX? Dahdi? SCHLUCK? ??? Ich habe von Problemen mit chan_iax gehört, das bei 100% CPU bleibt ... wenn Sie es nicht verwenden ... deaktivieren Sie es. TheCompWiz vor 11 Jahren 0
Ja, letzte Nacht, während wir uns eine Ausfallzeit leisten konnten, haben wir den Server neu gestartet und alle Module und keine aktiven Kanäle deaktiviert. Trotzdem halten wir eine 100% ige CPU für die Neuinstallation von Betriebssystem und Sternchen als Problembehebungsschritt. Ace vor 11 Jahren 0

1 Antwort auf die Frage

0
Ace

Es sieht so aus, als ob unser PBX-Administrator den Dienst mit einem seltsamen Init-Skript gestartet hat. Wir konnten die Schleife über ssh nicht sehen und konnten sie erst sehen, wenn ein Monitor angeschlossen wurde.

Wir haben das ursprüngliche init-Skript aus dem Deb in Ubuntus Official Repository herausgeholt und dadurch das Problem mit der hohen CPU behoben, aber auch andere Berechtigungsprobleme verursacht, die wir ebenfalls angesprochen haben ... Ich mag natürlich die offiziellen Repository-Pakete für Linux Wir verwenden, anstatt aus Quellen zu bauen!