Mac OS X'de işlem disk i/o istatistikleri başına nasıl programlanabilirim? 'Activity Monitor' uygulamasında veya 'top' komutunda yalnızca tüm sistem diskini alabiliriz i/o istatistikleri. örneğin (root olarak) referans Similar question asked for PC.Her işlem diski için Mac OS X'te okuma/yazma istatistikleri
cevap
Kullanım iotop
için
:
iotop -C 3 10
Ama (benim için) en iyi şekilde geçerli:
sudo fs_usage -f filesys
'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. –
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
Bu Sierra'da da kırılmış. –
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.
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).
@Anoop Bu, bir işlemci izleme aracının bir parçasıdır, – Raviprakash