Differenziare IOWAIT in Linux
-
03-07-2019 - |
Domanda
Sto lavorando a un agent di monitoraggio che funziona con i sistemi che usano il kernel Linux. Aprendo / proc / stat, puoi facilmente sapere per quanto tempo una o tutte le CPU (aggregate) stanno bruciando in attesa del completamento delle richieste I / O.
Sto cercando di trovare un modo per suddividere quel numero in modo da poter distinguere tra I / O su disco e rete. Ad esempio, dopo aver convertito l'unità dai tick del kernel in secondi, si vede che tutte le CPU combinate hanno trascorso 1024 secondi in attesa di I / O. Mi piacerebbe sapere quanti di questi sono stati bruciati a causa di connessioni di rete lente.
Non sono sicuro che sia possibile, qualsiasi aiuto è apprezzato :) Non vedo nulla in / proc / net o sysfs che possa aiutare.
Soluzione
Prova a guardare SystemTap . È molto simile a Solaris DTrace e puoi raggiungere diversi livelli di dettaglio.