Vecchia domanda, recentemente respinta, ma sentiva che le risposte esistenti erano insufficienti.
Definizione e proprietà di IOWait
IOWait (di solito etichettato %wa
in alto) è una sottocategoria di inattivi (di %idle
solito è espressa come inattiva tranne le sottocategorie definite), il che significa che la CPU non sta facendo nulla. Pertanto, finché esiste un altro processo che la CPU potrebbe elaborare, lo farà. Inoltre, inattività, utente, sistema, iowait, ecc. Sono una misura rispetto alla CPU. In altre parole, puoi pensare a iowait come al minimo causato dall'attesa di io.
Precisamente, iowait è il tempo impiegato a ricevere e gestire gli interrupt di processo come percentuale di tick del processore. Gli interrupt software di solito vengono etichettati separatamente come %si
.
Importanza e potenziale malinteso
IOWait è importante perché spesso è una metrica chiave sapere se hai un collo di bottiglia in IO. Ma l'assenza di iowait non significa necessariamente che l'applicazione non sia strozzata su IO. Considera due applicazioni in esecuzione su un sistema. Se il programma 1 è pesantemente strozzato e il programma 2 è un utente pesante della CPU, la %user + %system
CPU potrebbe essere ancora qualcosa come ~ 100% e, di conseguenza, iowait mostrerebbe 0. Ma questo è solo perché il programma 2 è intenso e sembra che non parli di nulla programma 1 perché tutto questo è dal punto di vista della CPU.
Strumenti per rilevare IOWait
Vedi i post di Dave Cheney e Serse
Ma top
verrà mostrato anche un semplice %wa
.
Ridurre IOWait
Inoltre, dato che stiamo quasi entrando nel 2013, oltre a quanto affermato da altri, l'opzione di dispositivi di archiviazione IO semplicemente fantastici è conveniente, vale a dire SSD. Gli SSD sono fantastici !!!