Introducción
Este documento describe cómo funciona el uso de recursos de una tarea en StarOS y proporciona una lista de registros que deben recopilarse para resolver problemas de eventos de uso elevado de CPU/Memoria/Archivo. En StarOS, el Subsistema de administración de recursos (resctrl / resmgr) asigna un conjunto de límites de recursos para cada tarea del sistema. Supervisa el uso de los recursos de cada tarea para asegurarse de que se mantiene dentro del límite. Cuando una tarea ha excedido sus límites, se generan las trampas de Syslog o del protocolo simple de administración de red (SNMP) para notificar las operaciones de red.
Mecanismo de supervisión de recursos
Hay muchas tareas ejecutadas en StarOS, por ejemplo sessmgr/aamgr/vpnmgr, etc. Cada tarea se establece como límite para el uso de CPU/Memoria/Archivo y los límites son supervisados por la administración de recursos. Los límites pueden ser diferentes por tipo de tarea (sessmgr y aamgr tienen límites diferentes), versión de StarOS y tipo de hardware. Además, los límites son definidos por el sistema y no son configurables por los usuarios.
La descripción de cada tarea en StarOS se puede encontrar en el capítulo Tareas de StarOS de la Guía de administración del sistema.
La información de uso de recursos básicos se puede encontrar en el resultado del show task resources
CLI.
Campo |
Descripción |
cputime utilizado |
Uso de la CPU de la tarea |
cputime allc |
Límite de uso de CPU asignado para la tarea |
memoria utilizada |
Uso de memoria de la tarea |
memory alloc |
Límite de uso de memoria asignado para la tarea |
archivos utilizados |
Uso de archivos de tarea |
alc de archivos |
Uso de la tarea de archivos asignados |
estado |
Estado de la tarea: buena / aviso / más |
Es importante comprender que el propósito es vigilar los recursos y no limitar la funcionalidad de las tareas. La tarea debe poder funcionar incluso después de que consume más CPU/Memoria/Archivos que el límite. Las trampas Syslog y SNMP se generan cuando se cruza el límite, pero no siempre indica un problema.
Causa sospechosa
En muchos casos, un pico de uso temporal no es un problema. Pero si es persistente, por ejemplo, el uso de la CPU de una tarea se mantiene en el 100% o el uso de la memoria sigue creciendo y nunca se reduce, estos casos deben investigarse.
Las causas típicas de un pico temporal son:
- Comando CLI que genera un gran resultado (tarea CLI)
- Cantidad de información de registro en el sistema (tarea de evlogd)
Los casos que deben investigarse son:
- Uso elevado de la CPU debido al loop infinito interno (el uso de la CPU se mantiene en el 100%)
- El aumento constante del uso de la memoria por una fuga o fragmentación de la memoria
Aquí se muestran los ejemplos de trampas SNMP en las instalaciones de sessmgr, npudrv y CLI:
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
Uso de la CPU
Cuando el uso de la tarea de la CPU está cerca o por encima del límite, las trampas de CPUWarn y CPUOver SNMP se generan junto con la advertencia de Syslog.
Trampas del protocolo SNMP
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
En el ejemplo de CPUOver, el número de instancia 5010046 consume un uso de CPU del 60,9% mientras que el límite es del 60%.
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%
Nota: Este Syslog es un nivel de advertencia y no se genera con la configuración de registro predeterminada. Si se debe generar esto, la configuración de registro para resmgr debe configurarse como una advertencia.
Uso de la memoria
Cuando el uso de tareas de memoria se acerca o supera el límite, se generan las trampas MemoryWarn y MemoryOver SNMP junto con la advertencia Syslog.
Trampas del protocolo SNMP
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
En el ejemplo MemoryOver, el número de instancia 5010046 consume memoria 89940 mientras que el límite es 66560.
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
Nota: Este Syslog es un nivel de advertencia y no se genera con la configuración de registro predeterminada. Si se debe generar esto, la configuración de registro para resmgr debe configurarse como una advertencia.
Uso de archivos
files
indica el número de archivos abiertos o el uso de la tarea descriptor de archivo. No hay ninguna trampa SNMP para el uso del archivo, pero se genera un Syslog cuando se cruza el límite.
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
Información necesaria para resolver problemas
En esta sección se describe la información que se debe recopilar antes de abrir una nueva solicitud de servicio del Technical Assistance Center (TAC) cuando se necesita una investigación más detallada. El registro que se debe recopilar es diferente según el tipo de uso.
Nota: Además de la lista de comandos, el resultado del comando show support detail
siempre es obligatorio.
Uso de la CPU
Ingrese estos comandos en la CLI de StarOS y capture el resultado:
show task resources
show task resource max
show snmp trap history
show logs
show profile facility
instance
depth 4
Nota: show profile
es un comando de CLI de modo oculto.
Uso de la memoria
Ingrese estos comandos en la CLI de StarOS y capture el resultado:
show task resources
show task resource max
show snmp trap history
show logs
Recopile comandos heap y system heap varias veces a intervalos regulares, por ejemplo, cada 15 minutos y cuatro salidas.
show messenger proclet facility
instance
heap
show messenger proclet facility
instance
system heap
Nota: show messenger proclet
comando hidden-mode CLI.
Uso de archivos
Ingrese estos comandos en la CLI de StarOS y capture el resultado:
show task resources
show task resource max
show snmp trap history
show logs