2013-04-03 17 views

cevap

26

Kullanım iotop için
:

iotop -C 3 10 

Ama (benim için) en iyi şekilde geçerli:

sudo fs_usage -f filesys 
+0

'u çok kullanışlıdır. iotop bana sadece mds ve mdworker’in diskimi kırdığını gösterdi. fs_usage, Mail.app dosyasındaki dosyaların zillion'larını indeksleme olduğunu gösterdi, bu yüzden sorunun ne olduğuna dair doğru yönde işaret ettim. –

+4

El Capitan ile işe yaramadı, çünkü “iotop” dtrace'e güveniyor. Ve El Capitan, köksüz (SIP) modda 'dtrace' işlevini devre dışı bırakır. – Brice

+1

Bu Sierra'da da kırılmış. –

4

bir cevap olmadığı için Bu programatik olarak nasıl yapılacağı hakkında, burada bazı daha fazla bilgi. C/C++/ObjectiveC++ kullanabiliyorsanız, libproc ile ilgili bazı bilgileri alabilirsiniz. fonksiyon proc_pid_rusage size verilen bir süreç için kaynak bilgi bir demet verir ama sorunuzla ilgili olanları şunlardır:

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

örnek kod:

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; 
} 

fazla bilgi için <libproc.h> ve <sys/resource.h> bakınız.

1

Etkinlik İzleyicisi, "disk" sekmesindeki işlem G/Ç istatistiklerine göre gösterir (belki de bu soru sorulduğunda yeni olabilir). enter image description here Bkz. "Yazılı Bayt Sayısı" ve "Bayt Okuma" sütunları.

-1

Menü çubuğunda bulunan iStat Menus buldum. Sadece en iyi 5 diski okuma/yazma kullanıcılarını gösterir (ve toplamın olup olmadığından emin değilim, ama sıralamıyor).