Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Monitoraggio dell'utilizzo della CPU

Monitoraggio dell'utilizzo della memoria

Monitoraggio dell'utilizzo dei file

Stato in mostra risorsa attività

Risoluzione dei problemi

Per utilizzo CPU

Per l'utilizzo della memoria

Per l'utilizzo dei file

Introduzione

In questo documento vengono descritti i dati fondamentali relativi all'utilizzo di CPU/memoria/file sui sistemi StarOS e viene spiegato come risolvere eventuali problemi.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- StarOs

Componenti usati

Il documento può essere consultato per tutte le versioni software o hardware.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Il sottosistema di gestione delle risorse assegna un insieme di limiti di risorse per ogni attività del sistema. Esegue il monitoraggio dell'utilizzo delle risorse di ogni attività per garantire che non superi il limite. Se un'operazione ha superato i propri limiti, ne emette notifica agli operatori tramite trap Syslog o SNMP (Simple Network Management Protocol). Questo documento spiega come funziona e quali registri devono essere raccolti per un'ulteriore risoluzione dei problemi.

È possibile controllare le informazioni di base nell'output di show task resources command line interface (CLI).

L'utente non può modificare i limiti delle risorse allocate.

I limiti delle risorse allocate sono diversi in base alla versione di StarOS.

Questo è un esempio di SNMP che si verifica quando è presente un problema sul 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

Monitoraggio dell'utilizzo della CPU

CPUWarn SNMP trap viene generato quando l'utilizzo della CPU del proclet raggiunge il 90% della quantità allocata.

Una volta generato CPUWarn, CPUOver viene generato quando l'utilizzo della CPU del proclet raggiunge più del 50% della quantità allocata dal valore di avviso.

Se l'utilizzo della CPU del client raggiunge l'utilizzo allocato prima che venga generato CPUWarn, la CPUver viene generata.

CPUWarn/Over viene cancellato quando l'utilizzo torna al 50% delle risorse allocate.

Esempio:

Se l'allocazione di sistema per la struttura è 60, quando il valore raggiunge 54, il sistema genera una trap SNMP (CPUWarn).

Poiché l'allocazione di sistema per la struttura è 60, quando l'utilizzo della CPU del proclet raggiunge più del 50% della quantità allocata dal valore di avviso, in questo scenario quando il sistema raggiunge il valore 84 (54+30) il sistema genera una trap SNMP (CPUOver).

Monitoraggio dell'utilizzo della memoria

MemoryWarn viene generato quando l'utilizzo della memoria del client raggiunge la propria allocazione.

MemoryOver viene generato quando l'utilizzo di memoria del proclet raggiunge più di 15 MB o il doppio della sua allocazione.

MemoryWarn/MemoryOver vengono cancellati quando l'utilizzo torna al 95% della sua allocazione.

Esempio:

Se l'allocazione di sistema per la struttura è di 60 MB, per qualsiasi valore superiore a 60 MB il sistema genera SNMP trap MemoryWarn.

Poiché l'allocazione di sistema per la struttura è di 60 MB, quando l'utilizzo della memoria delle attività raggiunge i 75 MB, il sistema genera SNMP trap MemoryOver.

Monitoraggio dell'utilizzo dei file

File indica il numero di file aperti o il descrittore di file utilizzato dal processo.

Non è implementata alcuna trap SNMP per l'utilizzo dei file, ma viene generato un messaggio di registrazione per lo stato over/clear.

L'overlog viene generato quando l'utilizzo dei file del proclet raggiunge un valore superiore a quello allocato + 10%.

Il log di cancellazione viene generato quando l'utilizzo dei file del proclet torna al 90% delle risorse allocate.

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

Stato in mostra risorsa attività

Il campo Status nell'output di show task resources CLI ha criteri diversi.

Nell'immagine seguente, WARN viene visualizzato come avvertenza e ALARM è over status.

Risoluzione dei problemi

Per utilizzo CPU

Quando il sistema inizia a generare trap SNMP relative alla CPU, raccogliere le seguenti informazioni durante il problema attivo:

mostra risorse attività

Controlla se un proclet passa in stato di avviso/sovrascrittura

mostra massimo risorsa attività

Verifica l'utilizzo massimo anziché l'utilizzo corrente

mostra cronologia trap snmp

Verificare se sono presenti eventi CPUWarn/Over

Nota: Se questo comando è nascosto/test, consultare la documentazione per informazioni su come abilitare e accedere alla modalità test in StarOs.

Questo comando non ha alcun impatto sul servizio e può essere eseguito in produzione.

show profile card <numero scheda> cpu <numero cpu> depth <valore>

Questo è il cosiddetto profiler Background.

Profiler sfondo è sempre anche in produzione, con un periodo di campionamento fisso di 1 s.

Sappiamo quali PC utilizzano le risorse della CPU, per scheda/CPU/struttura/istanza, ecc.

Si consiglia di specificare la profondità utilizzando il valore di default 1 (ad esempio 4).

Per l'utilizzo della memoria

Quando il sistema inizia a generare trap SNMP relative alla memoria, raccogliere le seguenti informazioni durante il problema attivo:

mostra risorse attività

Controlla se un proclet passa in stato di avviso/sovrascrittura

mostra massimo risorsa attività

Verifica l'utilizzo massimo anziché l'utilizzo corrente

mostra cronologia trap snmp

Verificare se sono presenti eventi MemoryWarn/Over

mostra registri

Verificare se sono presenti avvisi/errori segnalati da resmgr.

Nota: Se questo comando è nascosto/test, consultare la documentazione per informazioni su come abilitare e accedere alla modalità test in StarOs.

Questo comando non ha alcun impatto sul servizio e può essere eseguito in produzione.

mostra heap istanza <x> del servizio proclet di messenger

Verifica l'utilizzo heap del client

Nota: Se questo comando è nascosto/test, consultare la documentazione per informazioni su come abilitare e accedere alla modalità test in StarOs.

Questo comando non ha alcun impatto sul servizio e può essere eseguito in produzione.

mostra heap di sistema dell'istanza <x> del servizio proclet di messenger

Verifica informazioni heap di sistema per il processo contenitore

Suggerimento: Eseguire più output di comandi relativi alla cpu ogni 10 minuti e 4 output prima di aumentare la richiesta di servizio verso TAC.

Per l'utilizzo dei file

Il limite effettivo di file a livello di sistema operativo è impostato su un valore superiore al limite di utilizzo dei file in StarOs.

Esempio di task Diameter Proxy (diaproxy), il limite del livello del sistema operativo è 8192 il processo può consumare fino a 8192 mentre il limite dei file è impostato su 1000 in 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

Esiste anche un limite di livello della CPU. Controllare anche questo limite e si potrebbe andare bene se si dispone di abbastanza disponibile.

[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 il valore è inferiore a 256, viene generato questo messaggio di avviso:

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