Introducción
Este documento describe los fundamentos del uso de CPU/Memoria/Archivos en sistemas StarOS y cómo resolver problemas cuando se produce un problema.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
El subsistema de administración de recursos asigna un conjunto de límites de recursos para cada tarea del sistema. Supervisa el uso de recursos de cada tarea para asegurarse de que se mantiene dentro del límite. Si una tarea ha excedido sus límites, se lo notifica a los operadores a través de las trampas de Syslog o del Protocolo simple de administración de red (SNMP). Este documento explica cómo funciona y qué registros debe recopilar para solucionar problemas adicionales.
Puede comprobar la información básica en el resultado de la interfaz de línea de comandos (CLI) de show task resources.
El usuario no puede cambiar los límites de recursos asignados.
Los límites de recursos asignados son diferentes según la versión de StarOS.
Este es un ejemplo de SNMP que ocurre cuando el problema está presente en el sistema:
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
Supervisión del uso de CPU
La trampa SNMP CPUWarn se genera cuando el uso de la CPU de proclet alcanza el 90% de su valor asignado.
Una vez que se genera CPUWarn, CPUOver se genera cuando el uso de la CPU del destinatario alcanza más del 50% de su valor asignado a partir del valor advertido.
Si el uso de la CPU de proclet alcanza su uso asignado antes de que se genere CPUWarn, se genera CPUOver.
CPUWarn/Over se borra cuando el uso se remonta al 50% de los recursos asignados.
Ejemplo:
Si la asignación del sistema para la instalación es 60, cuando el valor alcance 54, el sistema genera una trampa SNMP (CPUWarn).
Dado que la asignación del sistema para la facilidad es 60, cuando el uso de la CPU de proclet alcanza más del 50% de su valor asignado del valor advertido, en este escenario cuando el sistema alcanza el valor 84 (54+30) el sistema genera una trampa SNMP (CPUOver).
Supervisión del uso de memoria
MemoryWarn se genera cuando el uso de memoria de proclet alcanza su asignación.
MemoryOver se genera cuando el uso de memoria de proclet alcanza más de los + 15 MB asignados, o el doble de su asignación.
MemoryWarn/MemoryOver se borran cuando el uso se remonta al 95% de su asignación.
Ejemplo:
Si la asignación del sistema para la instalación es de 60 MB, para cualquier valor superior a 60 MB, el sistema genera una MemoryWarn de trampa SNMP.
Dado que la asignación del sistema para la instalación es de 60 MB, cuando la utilización de la memoria de tareas alcanza los 75 MB, el sistema genera una trampa SNMP MemoryOver.
Supervisión del uso de archivos
Files indica el número de archivos abiertos o el descriptor de archivo que está utilizando el proceso.
No se ha implementado ninguna captura SNMP para el uso de archivos, pero se genera un mensaje de registro para el estado de exceso/borrado.
El registro de exceso se genera cuando el uso del archivo de proclet alcanza más de su asignado + 10% de su asignado.
El registro de borrado se genera cuando el uso del archivo de proclet se remonta al 90% de su asignado.
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
Estado en mostrar recurso de tarea
El campo Estado en el resultado de show task resources CLI tiene criterios diferentes.
En la imagen siguiente, WARN es warn y ALARM es over status (ALARMA superada).
Resolución de problemas
Para uso de CPU
Cuando el sistema comience a generar trampas SNMP relacionadas con la CPU, recopile la siguiente información durante el problema activo:
show task resources
Compruebe si algún proyector pasa al estado de aviso/sobre
show task resource max
Comprobar el uso máximo en lugar del uso actual
Compruebe si hay algún evento CPUWarn/Over
Nota: Este es un comando hidden/test. Consulte la Documentación sobre cómo activar y entrar en el modo Test en StarOs.
Este comando no afecta al servicio y se puede ejecutar en producción.
show profile card <card number> cpu <cpu number> depth <value>
Se trata del denominado generador de perfiles de fondo.
El analizador en segundo plano siempre funcionamiento, incluso en producción, con un período de muestreo fijo de 1 s.
Podemos saber qué PC consume recursos de CPU, por tarjeta/cpu/instalación/instancia, etc.
Se recomienda especificar la profundidad en lugar de utilizar el valor predeterminado 1.(p. ej., 4)
Para uso de memoria
Cuando el sistema comience a generar trampas SNMP relacionadas con la memoria, recopile la siguiente información durante el problema activo:
show task resources
Compruebe si algún proyector pasa al estado de aviso/sobre
show task resource max
Comprobar el uso máximo en lugar del uso actual
show snmp trap history
Compruebe si hay algún evento MemoryWarn/Over
show logs
Compruebe si resmgr ha notificado algún error o advertencia.
Nota: Este es un comando hidden/test. Consulte la Documentación sobre cómo activar y entrar en el modo Test en StarOs.
Este comando no afecta al servicio y se puede ejecutar en producción.
show messenger proclet facility <name> instance <x> heap
Comprobar el uso del montón del proyector
Nota: Este es un comando hidden/test. Consulte la Documentación sobre cómo activar y entrar en el modo Test en StarOs.
Este comando no afecta al servicio y se puede ejecutar en producción.
show messenger proclet facility <name> instance <x> system heap
Comprobar la información de montón del sistema para contener el proceso
Sugerencia: Tome varias salidas de comandos relacionados con la CPU cada 10 minutos y 4 salidas antes de elevar la solicitud de servicio hacia el TAC.
Para uso de archivos
El límite real de archivos en el nivel del sistema operativo es más alto que el límite de uso de archivos en StarOs.
Ejemplo para la tarea Diameter Proxy (diaproxy), el límite de nivel de SO es 8192; el proceso puede consumir hasta 8192, mientras que el límite de archivos se establece como 1000 en StarOS.
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
También hay un límite de nivel de CPU, por favor, compruébelo también y estará bien siempre que tenga suficiente disponible.
[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)
Cuando el valor disponible es inferior a 256, se genera este mensaje de advertencia:
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