2013-04-03 18 views
17

Làm cách nào để tôi có được số liệu thống kê theo quy trình đĩa i/o trong Mac OS X. Trong ứng dụng 'Activity Monitor' hoặc trong lệnh 'top', chúng tôi chỉ có thể lấy toàn bộ đĩa hệ thống i/o thống kê.
Để tham khảo Similar question asked for PC.Mỗi số liệu thống kê đọc/ghi đĩa trong Mac OS X

+0

@Anoop Đây là một phần của công cụ giám sát bộ xử lý, không phải để hack – Raviprakash

Trả lời

26

Sử dụng iotop (như root), ví dụ:

iotop -C 3 10 

Nhưng cách tốt nhất (đối với tôi) là:

sudo fs_usage -f filesys 
+0

rất tiện dụng. iotop chỉ cho tôi thấy rằng mds và mdworker đang đập đĩa của tôi. fs_usage cho thấy hàng tỷ tệp trong Mail.app đã được lập chỉ mục, vì vậy tôi đã chỉ cho tôi đúng hướng về vấn đề đó. –

+4

Lưu ý rằng với El Capitan, nó không hoạt động, vì 'iotop' dựa vào' dtrace'. Và El Capitan vô hiệu hóa 'dtrace' với chế độ rootless (SIP). – Brice

+1

Điều này cũng bị hỏng trên Sierra. –

4

Vì không có một câu trả lời ở đây về cách làm điều này theo chương trình, đây là một số thông tin khác. Bạn có thể lấy một số thông tin từ libproc nếu bạn có thể sử dụng C/C++/ObjectiveC++. Chức năng proc_pid_rusage cung cấp cho bạn một loạt các thông tin tài nguyên cho một quá trình nhất định, nhưng những người liên quan đến câu hỏi của bạn là:

struct rusage_info_v3 { 
    ... 
    uint64_t ri_diskio_bytesread; 
    uint64_t ri_diskio_byteswritten; 
    ... 
}; 

Mẫu mã:

pid_t pid = 10000; 
rusage_info_current rusage; 
if (proc_pid_rusage(pid, RUSAGE_INFO_CURRENT, (void **)&rusage) == 0) 
{ 
    cout << rusage.ri_diskio_bytesread << endl; 
    cout << rusage.ri_diskio_byteswritten << endl; 
} 

Xem <libproc.h><sys/resource.h> để biết thêm.

1

Hiển thị hoạt động cho mỗi số liệu thống kê quy trình I/O trong tab "đĩa" (có thể là mới kể từ khi câu hỏi này được hỏi). enter image description here Xem cột "Bytes Written" và "Bytes Read".

-1

Tôi tìm thấy iStat Menus, nằm trong thanh trình đơn. Chỉ hiển thị 5 người dùng đọc/ghi đĩa hàng đầu (và tôi không chắc liệu đó có phải là tổng, nhưng nó không phân loại).