Подтвердить что ты не робот

Статистика процесса чтения/записи дисков процесса в Mac OS X

Как я могу получить программную статистику для процессов ввода-вывода на диске в Mac OS X. В приложении "Монитор активности" или в команде "сверху" мы можем получить статистику всего системного диска. Для справки Аналогичный вопрос задан для ПК.

4b9b3361

Ответ 1

Используйте iotop (от имени root), например:

iotop -C 3 10

Но лучший способ (для меня):

sudo fs_usage -f filesys

Ответ 2

Поскольку здесь нет ответа о том, как это сделать программно, вот еще информация. Вы можете получить некоторую информацию из libproc, если вы можете использовать C/С++/ObjectiveС++. Функция proc_pid_rusage дает вам кучу информации о ресурсах для данного процесса, но те, которые связаны с вашим вопросом:

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

Пример кода:

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

Подробнее см. <libproc.h> и <sys/resource.h>.

Ответ 3

Монитор активности отображает статистику процесса ввода-вывода на вкладке "диск" (возможно, ее новая, поскольку этот вопрос задан). введите описание изображения здесь См. "Байт, написанный" и столбцы "Чтение байтов".

Ответ 4

Поскольку OP специально запрашивал статистику дискового ввода-вывода, я бы порекомендовал

sudo fs_usage -f diskio

который фокусируется только на событиях чтения/записи, в отличие от -f filesys как указано в принятом ответе. (Не знаю, была ли опция diskio тогда недоступна.)

Ответ 5

Я нашел iStat Menus, который находится в строке меню. Показывает только 5 лучших пользователей чтения/записи на диске (и я не уверен, что это сумма, но она не сортируется).