Вопрос или проблема
Похоже на колонку “IO Read Bytes” в Диспетчере задач Windows.
Проверьте /proc/<pid>/io.
Или попробуйте iotop.
Я думаю, что вы ищете atop
.
Если приложение состоит из одного процесса, который вы можете запустить, и вам нужны счетчики ввода-вывода этого процесса в конце, то этот ответ может быть полезен:
Он работает, храня счетчики ввода-вывода процессов оболочки из /proc/[pid]/io/
в переменной среды перед запуском процесса, а затем вычитает их после завершения процесса.
Ответ или решение
Чтобы определить, сколько байт ввода-вывода (IO) процесс в Linux прочитал, можно использовать несколько методов, каждый из которых подойдет в зависимости от ваших нужд.
-
Использование файла
/proc/[pid]/io
:
Каждый запущенный процесс в Linux имеет директорию в/proc
, где[pid]
— это идентификатор процесса. Для получения информации о вводе-выводе конкретного процесса можно открыть файл/proc/[pid]/io
. В этом файле содержится несколько показателей, включая количество прочитанных байт.Вы можете использовать следующую команду в терминале:
cat /proc/[pid]/io
Здесь вы увидите строки, похожие на следующие:
rchar: 123456 wchar: 789012 syscr: 345 syscw: 678 read_bytes: 123456
Поле
read_bytes
особенно важно, так как оно показывает, сколько байт было прочитано процессом. -
Использование
iotop
:
Установив и запустивiotop
, вы можете просматривать статистику ввода-вывода в реальном времени по всем процессам. Это полезно, если вы хотите наблюдать активность IO в динамике.Установка может быть выполнена через пакетный менеджер вашей системы, например:
sudo apt install iotop
После этого запустите:
sudo iotop
-
Использование
atop
:
atop
— это утилита для мониторинга системы, которая также предоставляет информацию о показателях I/O. Она интегрирует данные о CPU, памяти, сети и I/O. Установите её и запустите команду:sudo atop
В разделе I/O вы сможете видеть статистику для всех процессов.
-
Мониторинг IO для одного процесса:
Если вы хотите получить статистику ввода-вывода для процесса, который вы собираетесь запустить, вы можете сделать это с помощью следующей команды:# Сохраняем текущие значения IO before=$(cat /proc/[pid]/io | grep read_bytes | awk '{print $2}') # Запускаем процесс [ваша команда для запуска процесса] # Сохраняем новые значения IO after=$(cat /proc/[pid]/io | grep read_bytes | awk '{print $2}') # Подсчитываем разницу echo "Bytes read: $((after - before))"
Эти методы позволяют эффективно отслеживать количество байт, прочитанных вашим процессом. Выберите тот, который лучше соответствует вашим требованиям и удобен для использования.