Introduction
Este documento descreve como o uso de recursos de uma tarefa funciona no StarOS e fornece uma lista de registros que precisam ser coletados para solucionar problemas de eventos de alta utilização de CPU/Memória/Arquivo. No StarOS, o Subsistema de Gerenciamento de Recursos (resctrl / resmgr) atribui um conjunto de limites de recursos para cada tarefa no sistema. Ele monitora o uso de recursos de cada tarefa para garantir que ela permaneça dentro do limite. Quando uma tarefa excede seus limites, as interceptações Syslog ou SNMP (Simple Network Management Protocol) são geradas para notificar as operações de rede.
Mecanismo de monitoramento de recursos
Há muitas tarefas executadas no StarOS, por exemplo sessmgr/aaamgr/vpnmgr e assim por diante. Cada tarefa é definida como um limite para o uso da CPU/Memória/Arquivo e os limites são monitorados pelo gerenciamento de recursos. Os limites podem ser diferentes por tipo de tarefa (o sessmgr e o aaamgr têm limites diferentes), versão do StarOS e tipo de hardware. Além disso, os limites são definidos pelo sistema e não são configuráveis pelos usuários.
A descrição de cada tarefa no StarOS pode ser encontrada no capítulo Tarefas do StarOS do Guia de administração do sistema.
As informações básicas de uso de recursos podem ser encontradas na saída do comando show task resources
Comando CLI.
Campo |
Descrição |
cputime usado |
Uso da CPU de tarefa |
cputime allc |
Limite de uso da CPU alocado para a tarefa |
memória usada |
Uso de memória de tarefa |
alocação de memória |
Limite de uso de memória alocado para tarefa |
arquivos usados |
Uso de arquivos de tarefa |
file allc |
Uso de arquivos alocados da tarefa |
status |
Status da tarefa: bom / aviso / superior |
É importante entender que o objetivo é manter o controle dos recursos e não limitar a funcionalidade da tarefa. A tarefa deve poder funcionar mesmo depois de consumir mais CPU/memória/arquivos do que o limite. Syslog e interceptações SNMP são geradas quando o limite é ultrapassado, mas nem sempre indica um problema.
Causa suspeita
Em muitos casos, um pico de uso temporário não é um problema. Mas se for persistente, por exemplo, o uso da CPU de uma tarefa permanece em 100% ou o uso da memória continua a crescer e nunca ser reduzido, tais casos precisam ser investigados.
As causas típicas de um pico temporário são:
- Comando CLI que gera uma saída enorme (tarefa CLI)
- Quantidade de informações de log mantidas no sistema (tarefa evocada)
Os casos que devem ser investigados são:
- Alto uso da CPU causado pelo loop infinito interno (o uso da CPU permanece em 100%)
- O aumento constante do uso da memória por vazamento ou fragmentação de memória
Os exemplos de armadilhas SNMP nas instalações do sessmgr, npudrv e CLI são mostrados aqui:
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 da CPU
Quando o uso da tarefa da CPU está próximo ou acima do limite, as interceptações SNMP CPUWarn e CPUOver são geradas junto com o aviso Syslog.
Armadilhas de 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
No exemplo de CPUOver, o número de instância 5010046 consome 60,9% de uso da CPU, enquanto o limite é 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%
Note: Este Syslog é um nível de aviso e não é gerado com a configuração de registro padrão. Se isso precisar ser gerado, a configuração de registro do resmgr deve ser configurada como um aviso.
Utilização de memória
Quando o uso de tarefas de memória está próximo ou acima do limite, as interceptações MemoryWarn e MemoryOver SNMP são geradas junto com o aviso Syslog.
Armadilhas de 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
No exemplo MemoryOver, o número da instância 5010046 consome memória 89940 enquanto o limite é 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
Note: Este Syslog é um nível de aviso e não é gerado com a configuração de registro padrão. Se isso precisar ser gerado, a configuração de registro do resmgr deve ser configurada como um aviso.
Uso de arquivos
O files
indica o número de arquivos abertos ou a tarefa do descritor de arquivos usa. Não há interceptação SNMP para uso do arquivo, mas um Syslog é gerado quando o limite é cruzado.
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
Informações necessárias para solucionar problemas
Esta seção descreve quais informações precisam ser coletadas antes de você abrir uma nova solicitação de serviço do Technical Assistance Center (TAC) quando for necessária uma investigação mais detalhada. O log que precisa ser coletado é diferente com base no tipo de uso.
Note: Além da lista de comandos, a saída do comando show support detail
é sempre necessário.
Uso da CPU
Insira estes comandos na CLI do StarOS e capture a saída:
show task resources
show task resource max
show snmp trap history
show logs
show profile facility
instance
depth 4
Note: O show profile
é um comando CLI de modo oculto.
Utilização de memória
Insira estes comandos na CLI do StarOS e capture a saída:
show task resources
show task resource max
show snmp trap history
show logs
Coletar comandos heap e heap do sistema várias vezes em intervalos regulares, por exemplo, a cada 15 minutos e quatro saídas.
show messenger proclet facility
instance
heap
show messenger proclet facility
instance
system heap
Note: O show messenger proclet
um comando CLI de modo oculto.
Uso de arquivos
Insira estes comandos na CLI do StarOS e capture a saída:
show task resources
show task resource max
show snmp trap history
show logs