Elevato carico della CPU ma i migliori processi in cima tutto intorno allo 0%


11

Abbiamo un server con un elevato carico insolito e util cpu, ma non possiamo capire perché. Quando andiamo al top tutti i proc sembrano essere molto bassi cpu.

http://cl.ly/2d1g0K3q261r0R0K3e35

C'è un modo migliore per cercare cosa sta causando questo?


Dovrei notare che sono su Ubuntu 10.04
Ben

Risposte:


4

Penso che questo errore sia il tuo caso. Da quello che vedo dall'output, hai abbastanza memoria (nota circa 14 GB memorizzati nella cache), nessun problema di I / O, ma hai processi correlati allo xen in esecuzione. Questo mi fa pensare che sia un bug.


Si è rivelato essere un bug in Ubuntu 10.04 e l'hardware utilizzato da AWS
Ben

7

Il carico è una misura del carico di lavoro che un sistema ha avuto su una base di 1, 5 e 15 minuti.

L'idea sbagliata più comune è che la media del carico è puramente connessa all'utilizzo della CPU di un sistema.
Il carico include tuttavia misure aggiuntive come la CPU in attesa di I / O che ritengo sia il tuo problema.

In base all'immagine, immagino tu abbia esaurito la memoria e abbia iniziato a scambiare dati su disco.

Un semplice free -mti dirà quanta RAM e swap sono usati.
La colonna interessante è anche la colonna libera -/+ buffers/cache.
Se è vicino allo zero hai esaurito la RAM e dovresti agire di conseguenza.


1
+1 per lo scambio. È possibile utilizzare iotopo vmstatper provare a vedere se si tratta di I / O.
Axel Knauf,

1
- / + buffer / cache: 2933 14586
Ben

4

Ho notato che la media del carico è piuttosto elevata (68, wow). È possibile che ci siano molti processi che richiedono un po 'di CPU, quindi si sommano consumando tutto il tempo della CPU? Forse, quei processi iniziano e finiscono molto rapidamente, quindi top non può catturare l'esistenza di essi, potresti provare a vedere se in cima riescono a vederlo o no.


3

Provare

iotop

IO è stato per me la maggior parte del tempo.


2

Prova a usare:

top -o cpu

Il -oflag imporrà la parte superiore per ordinare i processi in base all'utilizzo della CPU in ordine decrescente.


quando ho corso top -o cpuho ricevuto "top: unknown topic 'o'"
Ben

Ok, prova a correre in alto e a colpire omentre è in esecuzione. Dovrebbe chiederti una chiave primaria. Digita cpue premi invio.
Bandito

1
anche se ordinati per cpu non c'è nulla in cima all'elenco sopra l'1% e ce ne sono solo una manciata (2-3) in un dato momento. Il resto è 0%
Ben

Almeno su Centos 7.2, il comando corretto per farlo ètop -o %CPU
siliconrockstar,

2

Potrebbe essere un file bloccato su nfs o qualsiasi altra cosa che blocchi un file a cui un altro processo deve accedere

potrebbe anche mancare il servizio configurato con troppi thread attivi


0

Sembra che l'utilizzo della CPU provenga da un thread. topsembra non tenerne conto. Di recente l'ho visto su un server mysql. ci sono istruzioni INSERT in esecuzione ma non sono riuscito a ottenere le nuove righe con SELECT perché alcuni thread di mysqld stavano aggiornando l'indice della tabella. top mostra il 100% di carico dell'utente su un core ma ogni processo incluso mysqld era una CPU dello 0,0%. ore dopo lo stesso SELECT ha fornito il set di risultati previsto.

Guarda anche

Ottenere statistiche cpu per thread

processo 'htop' e thread utilizzo cpu?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.