Introdução
Este documento descreve como o uso de recursos de uma tarefa funciona no StarOS e fornece uma lista de logs que precisam ser coletados para solucionar problemas de eventos de alto uso 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/aamgr/vpnmgr e assim por diante. Cada tarefa é definida com um limite de uso de CPU/memória/arquivo e os limites são monitorados pelo gerenciamento de recursos. Os limites podem ser diferentes por tipo de tarefa (sessmgr e amgr têm limites diferentes), versão StarOS e tipo de hardware. Além disso, os limites são definidos pelo sistema e não podem ser configurados 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 comandoshow task resources
CLI.

Campo |
Descrição |
cputime usado |
Uso de CPU da tarefa |
cputime allc |
Limite de uso da CPU alocado para a tarefa |
memória usada |
Uso de memória da tarefa |
alocação de memória |
Limite de uso da memória alocada para a tarefa |
arquivos usados |
Uso de tarefas nos arquivos |
arquivos allc |
Uso de tarefas dos arquivos alocados |
status |
Status da tarefa: bom / aviso / concluído |
É importante entender que a finalidade é manter o controle sobre os recursos e não limitar a funcionalidade da tarefa. A tarefa deve ser capaz de funcionar mesmo depois de consumir mais CPU/memória/arquivos do que o limite. As armadilhas de syslog e SNMP são geradas quando o limite é ultrapassado, mas nem sempre indicam um problema.
Causa suspeita
Em muitos casos, um pico temporário de uso 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, esses casos precisam ser investigados.
As causas típicas de um pico temporário são:
- Comando CLI que gera saída enorme (tarefa CLI)
- Quantidade de informações de log mantidas no sistema (tarefa evlogd)
Os casos que precisam 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 de memória por uma perda ou fragmentação de memória
Os exemplos de interceptações SNMP em recursos 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 estiver próximo ou acima do limite, as capturas de CPUWarn e CPUOver SNMP serão geradas junto com o aviso de 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 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: Esse 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 para resmgr deve ser configurada como um aviso.
Utilização de memória
Quando o uso da tarefa de memória estiver próximo ou acima do limite, as interceptações MemoryWarn e MemoryOver SNMP serão geradas junto com o aviso do 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 de MemoryOver, o número da instância 5010046 consome 89940 memória 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: Esse 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 para 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 arquivo usa. Não há interceptação SNMP para o uso do arquivo, mas um Syslog é gerado quando o limite é ultrapassado.
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 da abertura de uma nova solicitação de serviço do Centro de Assistência Técnica (TAC) quando uma investigação adicional for necessária. O log que precisa ser coletado é diferente com base no tipo de uso.
Note: Além da lista de comandos, a saída do comandoshow support detail
é sempre necessária.
Uso da CPU
Digite 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: Oshow profile
comando é um comando CLI de modo oculto.
Utilização de memória
Digite estes comandos na CLI do StarOS e capture a saída:
show task resources
show task resource max
show snmp trap history
show logs
Colete os comandos heap e system heap 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 comandoshow messenger proclet
é um comando CLI de modo oculto.
Uso de arquivos
Digite estes comandos na CLI do StarOS e capture a saída:
show task resources
show task resource max
show snmp trap history
show logs