Einleitung
Dieses Dokument beschreibt die Funktionsweise der Ressourcennutzung einer Aufgabe in StarOS und enthält eine Liste der Protokolle, die zur Fehlerbehebung bei Ereignissen mit hoher Auslastung von CPU/Arbeitsspeicher/Datei gesammelt werden müssen. In StarOS weist das Resource Management Subsystem (Resctrl/resmgr) jedem Task im System eine Reihe von Ressourcenbeschränkungen zu. Dabei wird die Ressourcennutzung jeder Aufgabe überwacht, um sicherzustellen, dass sie innerhalb des Grenzwerts bleibt. Wenn eine Aufgabe ihre Grenzen überschritten hat, werden die Syslog- oder SNMP-Traps (Simple Network Management Protocol) generiert, um den Netzwerkbetrieb zu benachrichtigen.
Ressourcenüberwachungsmechanismus
Es gibt viele Aufgaben, die unter StarOS ausgeführt werden, z.B. sessmgr/aamgr/vpnmgr usw. Für jede Aufgabe wird ein Grenzwert für die CPU-/Arbeitsspeicher-/Dateinutzung festgelegt, und die Grenzwerte werden durch die Ressourcenverwaltung überwacht. Die Grenzwerte können je nach Aufgabentyp (sessmgr und aamgr haben unterschiedliche Grenzen), StarOS-Version und Hardware-Typ unterschiedlich sein. Außerdem sind die Limits vom System definiert und von den Benutzern nicht konfigurierbar.
Eine Beschreibung der einzelnen Aufgaben in StarOS finden Sie im Kapitel StarOS-Aufgaben im Handbuch zur Systemverwaltung.
Die grundlegenden Informationen zur Ressourcennutzung sind in der Ausgabe des show task resources
CLI-Befehl.
Feld |
Beschreibung |
Verwendete Cputime |
CPU-Auslastung |
cputime allc |
Zugewiesene CPU-Auslastungsgrenze für Tasks |
Arbeitsspeicher |
Arbeitsspeichernutzung |
Speicheralloc |
Zugewiesene Speicherauslastungsgrenze für Tasks |
Dateien |
Verwendung von Dateien |
Dateien alle |
Verwendung der zugewiesenen Dateien |
status |
Aufgabenstatus: gut/warnen/darüber |
Es ist wichtig zu verstehen, dass der Zweck darin besteht, Ressourcen zu überwachen und die Aufgabenfunktionalität nicht zu beschränken. Die Aufgabe muss auch funktionieren, wenn mehr CPU/Speicher/Dateien als der Grenzwert überschritten werden. Syslog- und SNMP-Traps werden bei Überschreiten der Obergrenze generiert, zeigen jedoch nicht immer ein Problem an.
Vermutete Ursache
In vielen Fällen ist ein vorübergehender Nutzungsanstieg kein Problem. Wenn es sich jedoch um eine persistente, z. B. um eine Task-CPU-Auslastung von 100 % handelt oder die Speichernutzung weiter zunimmt und nie reduziert wird, müssen solche Fälle untersucht werden.
Die typischen Ursachen für eine vorübergehende Erhöhung sind:
- CLI-Befehl, der eine große Ausgabe erzeugt (CLI-Aufgabe)
- Anzahl der im System gespeicherten Protokollinformationen (Ereignisaufgabe)
Folgende Fälle müssen untersucht werden:
- Hohe CPU-Auslastung durch interne Endlosschleife (CPU-Auslastung bleibt bei 100 %)
- Die konstante Steigerung der Speicherauslastung durch Speicherlecks oder -fragmentierung
Die Beispiele der SNMP-Traps in den Einrichtungen sessmgr, npudrv und CLI sind hier aufgeführt:
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
CPU-Auslastung
Wenn die CPU-Aufgabenauslastung nahe oder über dem Grenzwert liegt, werden die CPUWarn- und CPUOver-SNMP-Traps zusammen mit der Syslog-Warnung generiert.
SNMP-Traps
Internal trap notification 1215 (CPUWarn) facility sct instance 0 card 8 cpu 0 allocated 500 used 451
Internal trap notification 1219 (CPUOver) facility cli instance 5010046 card 5 cpu 0 allocated 600 used 609
Im CPUOver-Beispiel verbraucht die Instanznummer 5010046 eine CPU-Auslastung von 60,9 %, während der Grenzwert 60 % beträgt.
Syslog
[resmgr 14502 warning] [2/0/2352
_resource_cpu.c:2876] [software internal system] The task ipsecmgr-202 is over it's cputime limit. Allocated 50.0%, Using 51.8%
Anmerkung: Dieses Syslog ist eine Warnstufe und wird nicht mit der Standardprotokollierungseinstellung generiert. Wenn dies generiert werden muss, muss die Protokollierungseinstellung für resmgr als Warnung konfiguriert werden.
Arbeitsspeichernutzung
Wenn die Auslastung von Speicheraufgabenaufträgen nahe oder über das Limit hinausgeht, werden die MemoryWarn- und MemoryOver SNMP-Traps zusammen mit der Syslog-Warnung generiert.
SNMP-Traps
Internal trap notification 1217 (MemoryWarn) facility cli instance 5005588 card 5 cpu 0 allocated 66560 used 70212
Internal trap notification 1221 (MemoryOver) facility cli instance 5010046 card 5 cpu 0 allocated 66560 used 89940
Im Beispiel MemoryOver belegt die Instanznummer 5010046 8940 Arbeitsspeicher, während der Grenzwert 66560 ist.
Syslog
[resmgr 14500 warning] [8/0/4054
_resource_cpu.c:3622] [software internal system syslog] The task bulkstat-0 is over its memory limit. Allocated 46080K, Using 48120K
Anmerkung: Dieses Syslog ist eine Warnstufe und wird nicht mit der Standardprotokollierungseinstellung generiert. Wenn dies generiert werden muss, muss die Protokollierungseinstellung für resmgr als Warnung konfiguriert werden.
Dateiverwendung
Die files
gibt die Anzahl der geöffneten Dateien an, oder die Dateideskriptor-Aufgabe verwendet diese. Es gibt kein SNMP-Trap für die Verwendung der Datei, aber ein Syslog wird generiert, wenn die Grenze überschritten wird.
2013-May-28+14:16:18.746 [resmgr 14517 warning] [8/0/4440
_resource_cpu.c:3558] [software internal system syslog] The task cli-8031369 is over its open files limit. Allocated 2000, Using 2499
Zur Fehlerbehebung benötigte Informationen
In diesem Abschnitt wird beschrieben, welche Informationen vor dem Öffnen einer neuen Serviceanfrage für das Technical Assistance Center (TAC) gesammelt werden müssen, wenn weitere Untersuchungen erforderlich sind. Das Protokoll, das erfasst werden muss, hängt von der Art der Verwendung ab.
Anmerkung: Zusätzlich zur Befehlsliste wird die Ausgabe des Befehls show support detail
ist immer erforderlich.
CPU-Auslastung
Geben Sie diese Befehle in die StarOS-CLI ein, und erfassen Sie die Ausgabe:
show task resources
show task resource max
show snmp trap history
show logs
show profile facility
instance
depth 4
Anmerkung: Die show profile
ist ein CLI-Befehl im ausgeblendeten Modus.
Arbeitsspeichernutzung
Geben Sie diese Befehle in die StarOS-CLI ein, und erfassen Sie die Ausgabe:
show task resources
show task resource max
show snmp trap history
show logs
Sammeln Sie Heap- und System-Heap-Befehle mehrmals in regelmäßigen Abständen, z. B. alle 15 Minuten und vier Ausgaben.
show messenger proclet facility
instance
heap
show messenger proclet facility
instance
system heap
Anmerkung: Die show messenger proclet
einen CLI-Befehl im ausgeblendeten Modus ausführen.
Dateiverwendung
Geben Sie diese Befehle in die StarOS-CLI ein, und erfassen Sie die Ausgabe:
show task resources
show task resource max
show snmp trap history
show logs