I / O del disco rigido per Pid


9

c'è un modo per vedere l'I / O del disco per pid / processo? Monitorix mi mostra quanto segue e correggimi se sbaglio, ma sembra che l'hard disk stia rallentando l'intero sistema: inserisci qui la descrizione dell'immagine

AGGIORNAMENTO # 1

In cima sembra dare una visione d'insieme al di sopra di tutto.

  • Potrei chiederti cosa significa l'attesa che ho contrassegnato in rosso?
  • È l'attesa dall'I / O del disco?

inserisci qui la descrizione dell'immagine


2
Hai in cima, iotop o pidstat
sebelk

1
@sebelk Ehi, ho aggiornato la domanda, sarebbe bello se tu potessi dare un'occhiata. :)
user2693017

1
non è stato possibile selezionare la risposta migliore, quindi ho deciso di prendere quella che mi ha aiutato di più e ho votato a favore delle altre.
user2693017

@ user2693017 - va benissimo, poiché l'OP è la tua prerogativa che meglio si adatta alle tue esigenze.
slm

Risposte:


3

È difficile per me guardare bene queste immagini, ma:

Dai un'occhiata all'uomo in cima:

Mi chiedo se finalmente stai chiedendo un'altra cosa, nella sezione CPU hai:

Every  line contains the percentage of cpu time spent in kernel mode by all
active processes (`sys'), the percentage of cpu time consumed in user mode
(`user') for all active processes (including processes running with a nice
value larger than zero), the  percentage  of  cpu  time spent  for  interrupt
handling  (`irq')  including  softirq, the percentage of unused cpu time while
no processes were waiting for disk-I/O (`idle'), and the percentage of unused
cpu time while at least one process was waiting for disk-I/O (`wait').

In case of per-cpu occupation, the last column shows the cpu number and the
wait percentage (`w') for that cpu.  The number of lines showing the per-cpu
occupation can be limited.

Ad ogni modo puoi leggere le statistiche specifiche del disco:

d    Show disk-related output.

            When "storage accounting" is active in  the  kernel,  the  
            following  fields  are shown: process-id, amount of data read 
            from disk, amount of data written to disk, amount of data that 
            was written but has been withdrawn again (WCANCL), disk 
            occupation percentage and process name.

Oltre a queste opzioni.

D

    D   Sort  the  current  list  in the order of disk accesses issued.  
        The one-but-last column changes to ``DSK''.
        ...

RDDSK

RDDSK   When the kernel maintains standard io statistics (>= 2.6.20):

        The  read  data  transfer issued physically on disk (so reading from 
        the disk cache is not accounted for).
        ...

WRDSK

WRDSK   When the kernel maintains standard io statistics (>= 2.6.20):

        The  write  data  transfer  issued physically on disk (so writing to 
        the disk cache is not accounted for).  This counter is maintained 
        for the  application process  that writes its data to the cache 
        (assuming that this data is physically transferred to disk later 
        on). Notice that disk I/O needed for swapping is not taken into 
        account.
        ....

LVM / MDD / DSK

LVM/MDD/DSK
        Logical volume/multiple device/disk utilization. 

        Per active unit one line is produced, sorted on unit activity.
        Such  line shows the name (e.g. VolGroup00-lvtmp for a logical
        volume or sda for a hard disk), the busy percentage i.e. the
        portion of time that the unit was busy handling requests
        (`busy'),  the  number  of  read  requests  issued  (`read'), the
        number of write requests issued (`write'), the number of KiBytes
        per read (`KiB/r'),  the  number of  KiBytes  per write
        (`KiB/w'), the number of MiBytes per second throughput for reads
        (`MBr/s'),  the  number  of  MiBytes  per second  throughput  for
        writes (`MBw/s'), the average queue depth (`avq') and the average
        number of milliseconds needed by a request (`avio') for seek,
        latency and data transfer.

        If the screen-width does not allow all of these counters, only a
        relevant subset is shown.

        The  number of lines showing the units can be limited per class
        (LVM, MDD or DSK) with the 'l' key or statically (see separate
        man-page of atoprc).  By specifying the  value  0  for  a
        particular class, no lines will be shown any more for that class.

grazie mille. Se è difficile a causa delle dimensioni, prendi il link diretto: i.stack.imgur.com/5ifJi.png
user2693017

8

Credo che ci siano molti strumenti. Uno di questi è pidstat:

pidstat -d 5

Mostra l'I / O dei processi ogni 5 secondi.

Esempio

$ pidstat -d 5
Linux 3.12.11-201.fc19.x86_64 (greeneggs.bubba.net)     03/04/2014  _x86_64_    (4 CPU)

06:19:05 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
06:19:10 PM  1000     29486      0.00    317.93      0.00  chrome

06:19:10 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
06:19:15 PM  1000     29486      0.00    368.00      0.00  chrome

06:19:15 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
06:19:20 PM  1000     29486      0.00    591.62    836.73  chrome

06:19:20 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
06:19:25 PM  1000      2410      0.00      0.80      0.00  mono
06:19:25 PM  1000     29486      0.00    262.40      0.00  chrome
^C

Average:      UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
Average:     1000      2410      0.00      0.20      0.00  mono
Average:     1000     29486      0.00    385.02    209.29  chrome

Dal punto in cui vedi il Ctrl+ C(aka. ^C) È il totale per la durata della corsa sopra.


bello, è possibile lasciarlo funzionare per 1 ora e ottenere i risultati complessivi?
user2693017

forse non l'ho ancora provato. È inoltre possibile definire i PID che si desidera controllare.

3

Dai un'occhiata a queste domande e risposte U&L dal titolo: Amazon EC2 microistanza di un gran numero di richieste IO , in cui fornisco dettagli su uno strumento chiamato fatrace. Lo tratterò anche in questa domanda e risposta intitolata: Determinazione di file specifici responsabili di I / O elevato .

fatrace

Questa è una nuova aggiunta al kernel Linux e una benvenuta, quindi è solo nelle nuove distribuzioni come Ubuntu 12.10. Il mio sistema Fedora 14 era carente Cool.

Fornisce lo stesso accesso che è possibile ottenere inotify senza dover indirizzare una directory e / o file particolari.

$ sudo fatrace
pickup(4910): O /var/spool/postfix/maildrop
pickup(4910): C /var/spool/postfix/maildrop
sshd(4927): CO /etc/group
sshd(4927): CO /etc/passwd
sshd(4927): RCO /var/log/lastlog
sshd(4927): CWO /var/log/wtmp
sshd(4927): CWO /var/log/lastlog
sshd(6808): RO /bin/dash
sshd(6808): RO /lib/x86_64-linux-gnu/ld-2.15.so
sh(6808): R /lib/x86_64-linux-gnu/ld-2.15.so
sh(6808): O /etc/ld.so.cache
sh(6808): O /lib/x86_64-linux-gnu/libc-2.15.so

Quanto sopra mostra l'ID del processo che sta eseguendo l'accesso al file e quale file sta accedendo, ma non ti dà alcun utilizzo complessivo della larghezza di banda, quindi ogni accesso è indistinguibile da qualsiasi altro accesso.

NOTA: fatrace puoi prendere un -p PIDargomento in modo da poterlo indirizzare a guardare un singolo PID se vuoi invece.


Strumento davvero carino, grazie non lo sapevo!
sebelk

hai uno strumento correlato e piacevole che è ftop
sebelk

@sebelk - grazie, hai già installato anche quello.
slm

Mi piace questo strumento. Mostra quale attività accede a quali file sul disco. Tuttavia, questi file possono anche essere mmapati, quindi si verifica solo l'accesso al buffer e nessun accesso IO.
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.