Einleitung
In diesem Dokument werden die Grundlagen der CPU-/Arbeitsspeicher-/Dateiverwendung auf StarOS-Systemen und die Fehlerbehebung bei Auftreten eines Problems beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Das Ressourcenmanagement-Subsystem weist jeder Aufgabe im System einen Satz von Ressourcenlimits zu. Es überwacht die Ressourcennutzung jeder Aufgabe, um sicherzustellen, dass sie innerhalb des Limits bleibt. Wenn eine Aufgabe ihre Grenzen überschritten hat, werden sie über Syslog- oder SNMP-Traps (Simple Network Management Protocol) an die Bediener benachrichtigt. In diesem Dokument wird erklärt, wie das funktioniert und welche Protokolle Sie für die weitere Fehlerbehebung sammeln müssen.
Sie können die grundlegenden Informationen in der Ausgabe von show task resources command line interface (CLI) überprüfen.
Die zugewiesenen Ressourcenlimits können vom Benutzer nicht geändert werden.
Die zugewiesenen Ressourcenbeschränkungen unterscheiden sich je nach StarOS-Version.
Dies ist ein Beispiel für SNMP, das auftritt, wenn ein Problem auf dem System vorliegt:
Mon Aug 26 11:32:19 2013 Internal trap notification 1221 (MemoryOver) facility sessmgr instance 16 card 1 cpu 0 allocated 204800 used 220392
Mon Aug 26 11:32:29 2013 Internal trap notification 1222 (MemoryOverClear) facility sessmgr instance 16 card 1 cpu 0 allocated 1249280 used 219608
Fri Dec 20 13:52:20 2013 Internal trap notification 1217 (MemoryWarn) facility npudrv instance 401 card 5 cpu 0 allocated 112640 used 119588
Fri Dec 20 14:07:26 2013 Internal trap notification 1218 (MemoryWarnClear) facility cli instance 5011763 card 5 cpu 0 allocated 56320 used 46856
Wed Dec 25 12:24:16 2013 Internal trap notification 1220 (CPUOverClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272
Wed Dec 25 12:24:16 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272
Wed Dec 25 17:04:56 2013 Internal trap notification 1215 (CPUWarn) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 595
Wed Dec 25 17:05:36 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 220
Überwachung der CPU-Nutzung
CPUWarn SNMP-Trap wird generiert, wenn die CPU-Nutzung von proclet 90 % der zugewiesenen Kapazität erreicht.
Sobald CPUWarn generiert wurde, wird CPUOver generiert, wenn die CPU-Nutzung von proclet mehr als 50 % der zugewiesenen Kapazität erreicht.
Wenn die CPU-Nutzung von proclet die zugewiesene Nutzung erreicht, bevor CPUWarn generiert wird, wird CPUOver generiert.
CPUWarn/Over wird gelöscht, wenn die Nutzung wieder auf 50 % der zugewiesenen Kapazität zurückgeht.
Beispiel:
Wenn die Systemzuweisung für die Einrichtung 60 beträgt und der Wert 54 erreicht, generiert das System eine SNMP-Trap (CPUWarn).
Da die Systemzuweisung für die Einrichtung 60 beträgt, wenn die CPU-Nutzung von proclet mehr als 50 % der zugewiesenen Kapazität anhand des Warnwerts erreicht, generiert das System in diesem Szenario bei Erreichen des Werts 84 (54+30) ein SNMP-Trap (CPUOver).
Überwachung der Speichernutzung
MemoryWarn wird generiert, wenn die Speichernutzung von proclet ihre Zuweisung erreicht.
MemoryOver wird generiert, wenn die Speichernutzung von proclet mehr als die zugewiesenen + 15 MB oder das Doppelte ihrer Zuweisung erreicht.
MemoryWarn/MemoryOver werden gelöscht, wenn die Nutzung auf 95 % der Zuweisung zurückgeht.
Beispiel:
Wenn die Systemzuweisung für die Einrichtung 60 MB beträgt, generiert das System für jeden Wert, der größer als 60 MB ist, das SNMP-Trap MemoryWarn.
Da die Systemzuweisung für die Einrichtung 60 MB beträgt, generiert das System SNMP-Trap "MemoryOver", wenn die Arbeitsspeicherauslastung 75 MB erreicht.
Überwachung der Dateiverwendung
"Dateien" gibt die Anzahl der geöffneten Dateien oder den Dateideskriptor an, den der Prozess verwendet.
Es ist kein SNMP-Trap für die Dateiverwendung implementiert, es wird jedoch eine Protokollierungsmeldung für den Status "over/clear" generiert.
Das Überprotokoll wird generiert, wenn die Dateiverwendung von proclet mehr als die zugewiesene + 10% der zugewiesenen Datei erreicht.
Das Clear Log wird generiert, wenn die Dateiverwendung von proclet auf 90% der zugewiesenen Datei zurückgeht.
2013-May-28+14:16:18.746 [resmgr 14517 warning] [8/0/4440 <rmmgr:80>
_resource_cpu.c:3558] [software internal system syslog] The task cli-8031369 is over its
open files limit. Allocated 2000, Using 2499
Status der Ressource "Vorgang anzeigen"
Das Statusfeld in der Ausgabe von show task resources CLI weist unterschiedliche Kriterien auf.
Im folgenden Bild wird WARN angezeigt, und ALARM hat den Status "Over" (Warn).
Fehlerbehebung
Für CPU-Auslastung
Wenn das System beginnt, SNMP-Traps für die CPU zu generieren, sammeln Sie während des aktiven Problems die folgenden Informationen:
Aufgabenressourcen anzeigen
Überprüfen, ob ein Prolet den Warn-/Überschreibstatus annimmt
max. Aufgabenressource anzeigen
Max. Auslastung statt aktueller Auslastung prüfen
SNMP-Trap-Verlauf anzeigen
Überprüfen Sie, ob ein CPUWarn/Over-Ereignis vorhanden ist.
Hinweis: Dies ist der Befehl "hidden/test" (Ausgeblendet/Test). Weitere Informationen finden Sie in der Dokumentation zum Aktivieren des Testmodus in StarOs.
Dieser Befehl wirkt sich nicht auf den Service aus und kann in der Produktion ausgeführt werden.
show profile card <Kartennummer> cpu <CPU-Nummer> depth <Wert>
Dies ist der so genannte Background Profiler.
Background Profiler ist immer laufend, auch in der Produktion, mit einem festen Abtastzeitraum von 1s.
Wir können wissen, welcher PC CPU-Ressourcen, pro Karte/CPU/Einrichtung/Instanz usw. verbraucht.
Empfohlen, die Tiefe anstelle des Standardwerts 1 anzugeben.(z. B. 4)
Zur Speichernutzung
Wenn das System beginnt, SNMP-Traps in Bezug auf den Arbeitsspeicher zu generieren, sammeln Sie während des aktiven Problems die folgenden Informationen:
Aufgabenressourcen anzeigen
Überprüfen, ob ein Prolet den Warn-/Überschreibstatus annimmt
max. Aufgabenressource anzeigen
Max. Auslastung statt aktueller Auslastung prüfen
SNMP-Trap-Verlauf anzeigen
Überprüfen Sie, ob ein MemoryWarn/Over-Ereignis vorhanden ist.
Protokolle anzeigen
Überprüfen Sie, ob eine Warnung/ein Fehler von resmgr gemeldet wird.
Hinweis: Dies ist der Befehl "hidden/test" (Ausgeblendet/Test). Weitere Informationen finden Sie in der Dokumentation zum Aktivieren des Testmodus in StarOs.
Dieser Befehl wirkt sich nicht auf den Service aus und kann in der Produktion ausgeführt werden.
show messenger proclet facility <Name> instanz <x> heap
Heapverwendung des Proklets überprüfen
Hinweis: Dies ist der Befehl "hidden/test" (Ausgeblendet/Test). Weitere Informationen finden Sie in der Dokumentation zum Aktivieren des Testmodus in StarOs.
Dieser Befehl wirkt sich nicht auf den Service aus und kann in der Produktion ausgeführt werden.
show messenger proclet facility <Name> instance <x> system heap
Überprüfen Sie die System-Heap-Informationen, um den Prozess zu enthalten.
Tipp: Nehmen Sie alle 10 Minuten und 4 Ausgaben mehrere Ausgaben von CPU-bezogenen Befehlen vor, bevor Sie Ihre Serviceanfrage beim TAC stellen.
For Files-Verwendung
Der tatsächliche Dateigrenzwert auf Betriebssystemebene ist höher als der in StarOs festgelegte Grenzwert für die Dateiverwendung.
Beispiel für die Aufgabe Diameter Proxy (Diaproxy), OS Level Limit ist 8192 der Prozess kann bis zu 8192 verbrauchen, während die Dateien Limit auf 1000 bei StarOS eingestellt ist.
asr5500:card3-cpu0# ps -ef | grep diam
root 5934 4555 0 Jul02 ? 00:07:52 diamproxy --readypipe 8 --limit_mode 8 --card_number 3 --cpu_number 0 --master_spc 3
asr5500:card3-cpu0# cat /proc/5934/limits | grep open
Max open files 8192 8192 files
[local]asr5500-2# show task resources facility diamproxy all
Friday July 11 10:05:54 JST 2014
task cputime memory files sessions
cpu facility inst used allc used alloc used allc used allc S status
----------------------- --------- ------------- --------- ------------- ------
3/0 diamproxy 2 0.3% 90% 22.83M 250.0M 216 1000 -- -- - good
8/0 diamproxy 1 0.4% 90% 22.71M 250.0M 69 1000 -- -- - good
Es gibt auch ein CPU Level Limit, bitte überprüfen Sie es auch und Sie wären in Ordnung, solange Sie genug zur Verfügung.
[local]ASR5500# show cpu info card 1 cpu 0
Card 1, CPU 0:
Status : Active, Kernel Running, Tasks Running
Load Average : 0.26, 0.39, 0.44 (1.78 max)
Total Memory : 32768M (16384M node-0, 16384M node-1)
Kernel Uptime : 3D 22H 11M
Last Reading:
CPU Usage All : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.6% idle
Node 0 : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.5% idle
Node 1 : 0.1% user, 0.2% sys, 0.0% io, 0.0% irq, 99.7% idle
Processes / Tasks : 185 processes / 29 tasks
Network : 0.326 kpps rx, 0.912 mbps rx, 0.208 kpps tx, 3.485 mbps tx
File Usage : 1792 open files, 3279141 available
Memory Usage : 1619M 4.9% used (1209M 7.4% node-0, 409M 2.5% node-1)
Wenn der Wert unter 256 liegt, wird diese Warnmeldung generiert:
event 14516
user_resource_cpu_cpu_low_files(uint32 card, uint32 cpu, uint32 used, uint32 remain)
"The CPU %d/%d is running low on available open files. (%u used, %u remain)"
warning
software internal system critical-info