Ổ cứng I / O mỗi Pid


9

Có cách nào để xem I / O đĩa trên mỗi pid / process không? Monitorix chỉ cho tôi những điều sau và sửa lỗi cho tôi nếu tôi Saim, nhưng có vẻ như ổ cứng đang làm chậm toàn bộ hệ thống: nhập mô tả hình ảnh ở đây

CẬP NHẬT # 1

Trên đỉnh dường như cho một cái nhìn tổng quan tuyệt vời trên tất cả mọi thứ.

  • Tôi có thể hỏi bạn chờ đợi tôi đánh dấu màu đỏ nghĩa là gì không?
  • Có phải đó là sự chờ đợi từ đĩa I / O?

nhập mô tả hình ảnh ở đây


2
Bạn có trên đỉnh, iotop hoặc pidstat
sebelk

1
@sebelk Này, tôi đã cập nhật câu hỏi, sẽ rất tuyệt nếu bạn có thể xem qua. :)
user2693017

1
thật sự không thể chọn được câu trả lời hay nhất nên tôi quyết định chọn câu trả lời giúp tôi nhiều nhất và đánh giá cao những câu khác.
dùng2693017

@ user2693017 - điều đó hoàn toàn tốt, vì OP là đặc quyền của bạn phù hợp nhất với nhu cầu của bạn.
slm

Câu trả lời:


3

Thật khó cho tôi để nhìn tốt những bức ảnh này, nhưng:

Hãy nhìn vào người đàn ông trên đỉnh:

Tôi tự hỏi nếu cuối cùng bạn đang yêu cầu một điều khác, trong phần CPU bạn có:

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.

Dù sao, bạn có thể đọc số liệu thống kê cụ thể của đĩa:

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.

Cũng như các tùy chọn này.

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).
        ...

VIẾT

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.

cảm ơn rất nhiều. Nếu khó khăn vì kích thước, hãy lấy liên kết trực tiếp: i.stack.imgur.com/5ifJi.png
user2693017

8

Tôi tin rằng có rất nhiều công cụ. Một trong số đó là pidstat:

pidstat -d 5

Hiển thị I / O của các quá trình cứ sau 5 giây.

Thí dụ

$ 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

Từ điểm bạn thấy Ctrl+ C(aka. ^C) Là tổng số trong thời gian chạy ở trên.


tốt, có thể để nó chạy trong 1 giờ và nhận được kết quả tổng thể?
dùng2693017

có lẽ, tôi chưa thử nó. Bạn cũng có thể xác định các PID bạn muốn kiểm tra.

3

Hãy xem Câu hỏi và trả lời về U & L này có tiêu đề: ví dụ vi mô Amazon EC2 số lượng lớn các yêu cầu IO , nơi tôi cung cấp chi tiết xung quanh một công cụ được gọi fatrace. Tôi cũng trình bày nó trong phần hỏi đáp này có tiêu đề: Xác định tệp cụ thể chịu trách nhiệm cho I / O cao .

béo

Đây là một bổ sung mới cho Linux Kernel và được hoan nghênh, vì vậy nó chỉ có trong các bản phát hành mới hơn như Ubuntu 12.10. Hệ thống Fedora 14 của tôi đã thiếu nó 8-).

Nó cung cấp cùng một quyền truy cập mà bạn có thể có được thông qua inotify mà không phải nhắm mục tiêu một thư mục và / hoặc tệp cụ thể.

$ 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

Ở trên cho bạn thấy ID tiến trình đang thực hiện truy cập tệp và tệp nào đang truy cập, nhưng nó không cung cấp cho bạn bất kỳ mức sử dụng băng thông chung nào, vì vậy mỗi truy cập không thể phân biệt với bất kỳ quyền truy cập nào khác.

LƯU Ý: fatrace có thể lấy một -p PIDđối số để bạn có thể hướng nó đến xem một PID duy nhất nếu bạn muốn thay thế.


Công cụ thực sự tốt, cảm ơn tôi đã không biết về nó!
sebelk

bạn có một công cụ liên quan và hay đó là ftop
sebelk

@sebelk - yup cảm ơn, đã cài đặt quá rồi.
slm

Tôi thích công cụ này. Nó cho thấy tác vụ nào truy cập vào tập tin nào trên đĩa. Tuy nhiên, các tệp này cũng có thể được xác định, do đó chỉ xảy ra truy cập bộ đệm và không có quyền truy cập IO.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.