Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Monitoramento de uso da CPU

Monitoramento de Uso de Memória

Monitoramento de uso de arquivos

Status em mostrar recurso de tarefa

Troubleshooting

Para uso da CPU

Para uso de memória

Para uso de arquivos

Introdução

Este documento descreve os fundamentos do uso de CPU/Memória/Arquivos em sistemas StarOS e como solucionar problemas quando o problema ocorrer.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- StarOs

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

O subsistema de gerenciamento de recursos 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. Se uma tarefa tiver excedido seus limites, ela notificará aos operadores por meio de interceptações Syslog ou SNMP (Simple Network Management Protocol). Este documento explica como ele funciona e quais registros você deve coletar para Troubleshooting adicional.

Você pode verificar as informações básicas na saída do comando show task resources interface de linha de comando (CLI).

Os limites de recursos alocados não podem ser alterados pelo usuário.

Os limites de recursos alocados são diferentes com base na versão do StarOS.

Este é um exemplo de SNMP que ocorre quando o problema está presente no 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

Monitoramento de uso da CPU

A interceptação SNMP CPUWarn é gerada quando o uso da cpu do proclet atinge 90% de sua alocação.

Uma vez que CPUWarn é gerado, CPUOver é gerado quando o uso da cpu do proclet atinge mais de 50% de sua alocação do valor avisado.

Se o uso da cpu do proclet atingir seu uso alocado antes de o CPUWarn ser gerado, o CPUOver será gerado.

CPUWarn/Over é cancelado quando o uso volta para 50% do alocado.

Exemplo:

Se a alocação do sistema para a instalação for 60, quando o valor atingir 54, o sistema gerará uma armadilha de SNMP (CPUWarn).

Como a alocação do sistema para a instalação é 60, quando o uso da cpu do proclet alcança mais de 50% de sua alocação a partir do valor avisado, nesse cenário, quando o sistema atinge o valor 84 (54+30), o sistema gera uma armadilha de SNMP (CPUOver).

Monitoramento de Uso de Memória

MemoryWarn é gerado quando o uso de memória do proclet atinge sua alocação.

MemoryOver é gerado quando o uso de memória do proclet alcança mais do que seu alocado + 15MB, ou o dobro de sua alocação.

MemoryWarn/MemoryOver são apagados quando o uso volta para 95% de sua alocação.

Exemplo:

Se a alocação do sistema para a instalação for de 60 MB, para qualquer valor maior que 60 MB, o sistema gerará um aviso de memória de interceptação SNMP.

Como a alocação do sistema para a instalação é de 60 MB, quando a utilização da memória da tarefa atinge 75 MB, o sistema gera MemoryOver de interceptação SNMP.

Monitoramento de uso de arquivos

Arquivos indica o número de arquivos abertos ou o descritor de arquivos que o processo está usando.

Não há nenhuma interceptação SNMP implementada para o uso de arquivos, mas a mensagem de registro é gerada para o estado over/clear.

O excesso de log é gerado quando o uso do arquivo do proclet atinge mais do que o alocado + 10% do alocado.

O log limpo é gerado quando o uso do arquivo do proclet volta para 90% de sua alocação.

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

Status em mostrar recurso de tarefa

O campo de status na saída do comando show task resources CLI tem critérios diferentes.

Na imagem abaixo, WARN é avisado e ALARM está acima do status.

Troubleshooting

Para uso da CPU

Quando o sistema começa a gerar interceptações SNMP relacionadas à CPU, colete as seguintes informações durante o problema ativo:

show task resources

Verificar se algum proclet entra no estado de aviso/sobre

show task resource max

Verificar o uso máximo em vez do uso atual

show snmp trap history

Verificar se há algum evento CPUWarn/Over

Observação: Este é um comando oculto/de teste. Consulte a Documentação para saber como ativar e entrar no modo de teste no StarOs.

Esse comando não afeta o serviço e pode ser executado na produção.

show profile card <card number> cpu <cpu number> depth <value>

Este é o chamado Background Profiler.

O Background Profiler é sempre em funcionamento, mesmo em produção, com um período de amostragem fixo de 1 s.

Podemos saber qual PC consome recursos da CPU, por placa/cpu/instalação/instância, etc.

É recomendável especificar a profundidade em vez de usar o valor padrão 1.(por exemplo, 4)

Para uso de memória

Quando o sistema começar a gerar interceptações SNMP relacionadas à memória, colete as seguintes informações durante o problema ativo:

show task resources

Verificar se algum proclet entra no estado de aviso/sobre

show task resource max

Verificar o uso máximo em vez do uso atual

show snmp trap history

Verifique se há algum evento MemoryWarn/Over

show logs

Verifique se há algum aviso/erro relatado pelo resmgr.

Observação: Este é um comando oculto/de teste. Consulte a Documentação para saber como ativar e entrar no modo de teste no StarOs.

Esse comando não afeta o serviço e pode ser executado na produção.

show messenger proclet facility <name> instance <x> heap

Verificar o uso de heap do proclet

Observação: Este é um comando oculto/de teste. Consulte a Documentação para saber como ativar e entrar no modo de teste no StarOs.

Esse comando não afeta o serviço e pode ser executado na produção.

show messenger proclet facility <name> instance <x> system heap

Verificar informações de heap do sistema para conter o processo

Dica: obtenha várias saídas de comandos relacionados à cpu a cada 10 minutos e 4 saídas antes de elevar a solicitação de serviço para o TAC.

Para uso de arquivos

O limite real de arquivos no nível do SO é definido acima do limite de uso de arquivos no StarOs.

Exemplo de Proxy de Diâmetro de tarefa (diaproxy), o limite de nível de SO é 8192, o processo pode consumir até 8192, enquanto o limite de arquivos é definido como 1000 no 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

Há também um limite de nível de CPU, verifique-o também e você poderá usá-lo se tiver o suficiente disponível.

[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)

Quando disponível se tornar menor que 256, esta mensagem de aviso será gerada:

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