Dove va la rete in attesa?


9

Se top mostra carichi elevati e non sai se il processo che lo sta causando sta eseguendo il tempo del processore o sta eseguendo I / O di rete (non I / O locale) come puoi scoprirlo?

Sul nostro server vedo valori elevati per il carico, ma in combinazione con il 60% -70% di inattività e circa il 25% di utenti. Vorrei sapere come intercettare tali valori, ma su Internet leggo quasi sempre che puoi usare iostat per vedere se il processo sta distruggendo i tuoi dischi. Ma so già per certo che non è così. Il processo in questione non ha problemi a svolgere il suo lavoro, ma il carico è comunque elevato.

Quindi, c'è un modo per scoprire di più quale parte è causata dall'attesa della rete e quale parte è causata dal tempo reale del processore? E qual è il significato di "inattivo" in alto?

Per chiarezza: con carico intendo i 3 numeri che indicano i processi medi in coda per core. Ci sono 8 core su questa macchina e i numeri arrivano fino a 25, quindi questo è un carico di 2,5 per core.


Come si chiama "carica": utilizzo della CPU o i 3 valori "carica media" (visualizzati uptimenell'output)?
spuk,

1
La domanda non ha senso ... l'attesa dell'IO della rete non utilizza alcun tempo della CPU.
psusi,

2
Mi piace il programma di utilità htopper il peering nei processi. In particolare può permetterti di selezionare un processo e quindi usando il lcomando, ti mostrerà tutti i file aperti usando dispositivi lsofcompresi IPv4e in IPv6streaming e simili. Se è stato straceinstallato sulla confezione, è possibile eseguire anche il debug delle chiamate di sistema e dei segnali. Non esattamente una risposta, ma un altro strumento che prenderei in considerazione per quello che stai cercando di indagare.
111 ---

Intendo i 3 numeri. A quanto ho capito, sono chiamati "carico" o sbaglio qui? Rappresentano il numero di processi nella coda che possono essere eseguiti, ma includono processi che hanno la rete in attesa o escludono i processi?
Jan

E cosa definisci "alto"? La media del carico non viene ridimensionata per i core. Ad esempio, un sistema con una media di carico di 1 e 4 core è 1/4 di quello caricato come un sistema con una media di carico di 1 e solo 1 core. La media del carico è un numero molto approssimativo.
bahamat,

Risposte:


3

Se top mostra carichi elevati e non sai se il processo che lo sta causando sta eseguendo il tempo del processore o sta eseguendo I / O di rete (non I / O locale) come puoi scoprirlo?

L'I / O di rete non viene preso in considerazione nella metrica iowait di Linux, a meno che non faccia parte di una transazione NFS, nel qual caso viene considerato come I / O del disco.

Quindi, c'è un modo per scoprire di più quale parte è causata dall'attesa della rete e quale parte è causata dal tempo reale del processore?

Al di fuori di un'ipotetica attesa NFS, nessuna parte del carico medio viene assorbita dall'attesa di rete.

E qual è il significato di "inattivo" in alto?

Ciò significa che la percentuale di tempo in cui la CPU non si trova in un altro degli stati elencati (utente, sistema, nice, iowait, interruzioni hardware, interruzioni software, rubate). Ciò include le attese di rete. Quando è inattivo, la CPU non fa praticamente nulla. Nota che anche iowait è inattivo poiché una CPU non fa nulla.


Grazie per la tua risposta. Quindi, nella mia situazione in cui vedo un alto valore inattivo (60% - 70%) e uno stato utente inferiore (circa il 25%) e un basso tasso di interesse, ciò potrebbe significare che il server è in attesa di risorse di rete, se ti capisco correttamente.
Jan

1
Non necessariamente in attesa di risorse di rete. Potrebbe essere semplicemente che la CPU sia abbastanza veloce per completare tutto ciò che deve essere fatto. La media del carico elevato è probabilmente causata da un numero molto elevato di thread che competono contemporaneamente per una CPU ma durante periodi di tempo spuri molto brevi.
jlliagre,
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.