2012-12-24 10 views
13

Mi chiedo come posso controllare quale processo estrae tutta la mia banda I/O. L'unico comando che conosco è gstat ma mostra informazioni cumulative. Esistono strumenti che posso utilizzare per ispezionare i processi in esecuzione per il loro utilizzo I/O? Il sistema è FreeBSD 8.3.Ricerca processo con I/O su disco pesante

+0

http://serverfault.com/questions/169676/howto-check-disk-i-o-utilisation-per-process –

+0

@siamo sicuri di averlo detto; Il 99 percento dei googler cadrà qui per Linux comunque :-) –

risposta

14

iotop è quello che volete. La maggior parte della distribuzione di Linux ha un pacchetto per questo.

+0

Ma FreeBSD non lo fa (almeno non nelle porte). Penso che 'iotop' usi Linux/proc, che * non * è lo stesso su FreeBSD. – tjameson

+0

Mi chiedo perché è così tanto pubblicizzato e accettato, quando lo strumento non esiste nemmeno su freebsd? – eis

0

Secondo una ricerca rapida, per l'analisi di rete: è possibile utilizzare lsof -i o sockstat (http://www.freebsd.org/cgi/man.cgi?query=sockstat & sektion = 1) per identificare le prese aperto da processi specifici, quindi è possibile utilizzare tcpdump per verificare i dettagli di tale connessione (http://www.thegeekstuff.com/2010/08/tcpdump-command-examples/#more-5676). Puoi anche provare trafshow e iftop.

Per I/O disco: su Linux, utilizzo sar -q, deve esserci qualcosa di simile.

+0

non è quello per le connessioni di rete, e non per I/O su disco? – eis

+0

Non ho problemi con la rete, solo con I/O alto di disco (come visto da gstat) –

+0

Il mio male, ho visto "larghezza di banda" nella tua domanda e mi sono confuso. Ecco un articolo interessante: http://www.bsdnewsletter.com/bsda-book/Monitor_disk_input--output.html, spero che aiuti. – theMarceloR

1

È possibile utilizzare ktrace se si vuole tracciare un unico processo:

$ ktrace -ti -p PID 

Do leggere il manual for ktrace in modo da sapere come disattivare ktrace prima di utilizzare. Qualcosa di simile:

$ ktrace -p PID -f debug.txt 
$ ktrace -C 
$ kdump -f debug.txt 

kdump, poiché l'uscita non è leggibile dall'uomo.

+0

Sì, so di ktrace ma non visualizza il peso di ogni richiesta. –

+0

Aspetta, il peso? Che ne dici di alcuni programmi di sniffing dei pacchetti come WireShark o Fiddler? – theMarceloR

+0

No, non ci sono problemi con la rete. Il peso intendo% della banda del canale del disco con –

6

la risposta è di usare 'top' poi ha colpito 'm' per visualizzare IO percentuale per processo/thread

+9

Quale versione di 'top' è questa? Sulla mia 'm' si alterna il sommario dell'uso della memoria. –

+1

@DanielKitachewsky - Funziona sul mio FreeBSD: '$ top -v' dà' top: versione 3.5beta12'. FreeBSD * fa * usa un top diverso rispetto alla maggior parte delle distrubazioni di Linux. Nelle mie finestre Linux, "m" attiva l'utilizzo della memoria come hai detto tu. – tjameson

+1

Prova 'shift + m' in cortocircuito per percentuale di memoria. 'shift + p' per cpu e' shift + t' per tempo –