Hard / Drive I / O na Pid

9

czy jest jakiś sposób, aby zobaczyć I / O dysku na pid / proces? Monitorix pokazuje mi następujące i popraw mnie, jeśli się mylę, ale wygląda na to, że dysk twardy spowalnia cały system: wprowadź opis zdjęcia tutaj

AKTUALIZACJA # 1

Wydaje się, że Atop daje świetny przegląd ponad wszystko.

  • Czy mogę zapytać, co oznacza oczekiwanie, które oznaczono na czerwono?
  • Czy to jest oczekiwanie na dysku we / wy?

wprowadź opis zdjęcia tutaj

użytkownik2693017
źródło
2
Masz albo na szczycie, iotop lub pidstat
sebelk
1
@sebelk Hej, zaktualizowałem pytanie, byłoby miło, gdybyś mógł rzucić okiem. :)
user2693017
1
wybranie najlepszej odpowiedzi nie było możliwe, więc zdecydowałem się wybrać jedną, która najbardziej mi pomogła, a pozostałe wybrałem.
user2693017,
@ user2693017 - to w porządku, ponieważ PO to twoja przywilej, który najlepiej odpowiada Twoim potrzebom.
slm

Odpowiedzi:

3

Trudno mi dobrze patrzeć na te zdjęcia, ale:

Spójrz na mężczyznę na szczycie:

Zastanawiam się, czy w końcu pytasz o coś innego, w części poświęconej procesorowi masz:

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.

W każdym razie możesz przeczytać statystyki specyficzne dla dysku:

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.

Jak również te opcje.

re

    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.
sebelk
źródło
Dziękuję bardzo. Jeśli jest to trudne ze względu na rozmiar, skorzystaj z bezpośredniego linku: i.stack.imgur.com/5ifJi.png
user2693017
8

Wierzę, że jest wiele narzędzi. Jednym z nich jest pidstat:

pidstat -d 5

Pokazuje operacje we / wy co 5 sekund.

Przykład

$ 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

Od punktu, w którym widzisz Ctrl+ C(aka. ^C), Są sumy dla czasu trwania przebiegu powyżej.

slm
źródło
fajnie, czy można pozwolić mu działać przez 1 godzinę i uzyskać ogólne wyniki?
user2693017
może jeszcze tego nie próbowałem. Możesz także zdefiniować PID, które chcesz sprawdzić.
3

Spójrz na pytania i odpowiedzi dotyczące U&L zatytułowane: Instancja Amazon EC2 micro, duża liczba żądań We / Wy , w których podaję szczegółowe informacje na temat narzędzia o nazwie fatrace. Omawiam go również w tym pytaniu zatytułowanym: Określanie konkretnego pliku odpowiedzialnego za wysokie operacje we / wy .

Fatrace

Jest to nowy dodatek do jądra Linuksa i mile widziany, więc jest dostępny tylko w nowszych dystrybucjach, takich jak Ubuntu 12.10. W moim systemie Fedora 14 brakowało go 8-).

Zapewnia taki sam dostęp, jaki można uzyskać przez inotify bez konieczności kierowania do określonego katalogu i / lub plików.

$ 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

Powyższe pokazuje identyfikator procesu, który uzyskuje dostęp do pliku i do którego pliku ma dostęp, ale nie zapewnia ogólnego wykorzystania przepustowości, więc każdego dostępu nie można odróżnić od żadnego innego dostępu.

UWAGA: fatrace może wziąć -p PIDargument, abyś mógł skierować go do oglądania pojedynczego PID, jeśli chcesz.

slm
źródło
Naprawdę fajne narzędzie, dzięki, że o tym nie wiedziałem!
sebelk
masz powiązane i ładne narzędzie, które jest ftop
sebelk
@sebelk - tak, dziękuję, mam to już zainstalowane.
slm
Lubię to narzędzie. Pokazuje, które zadanie uzyskuje dostęp do plików na dysku. Pliki te można jednak również kształtować w mm, dzięki czemu ma miejsce tylko dostęp do bufora i brak dostępu IO.