6

Возможный дубликат:
Linux: Есть ли что-то похожее на "top" для ввода / вывода?

Я пытаюсь выполнить некоторые операции с интенсивным использованием процессора на компьютере с Linux, и он показывает очень высокую нагрузку.

Я хочу выяснить, является ли эта загрузка из-за ввода-вывода или использования процессора. Как я могу получить процент использования ввода-вывода по процессам?

3 ответа3

6

Попробуйте программу под названием "iotop". Он показывает использование локальных дисков аналогично тому, как "top" используется ЦП. Для сетевого трафика есть инструмент под названием "iftop".

Кроме того, если вы не уверены, почему нагрузка высокая, посмотрите на столбец "IO Wait" в представлении "top". Если процессорное время в основном уходит на "пользовательскую" или "системную" работу, то узким местом является процессор, если "IO wait", то диск. Также стоит обратить внимание на номера подкачки - если физическая память имеет менее 5% свободной памяти и / или используется много файла подкачки, вы можете быть ограничены физической памятью.

Например:

top - 17:18:37 up 1 day,  5:20, 19 users,  load average: 0.18, 0.26, 0.35
Tasks: 249 total,   2 running, 246 sleeping,   0 stopped,   1 zombie
Cpu(s):  8.5%us,  2.1%sy,  0.3%ni, 85.4%id,  3.7%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   8183668k total,  8082464k used,   101204k free,    11148k buffers
Swap: 11847900k total,   248528k used, 11599372k free,  3361444k cached

"us" означает код пользовательского пространства, "sy" для системы, "id" для простоя, "wa" для ожидания ввода-вывода.

0

Взгляните на Linux proc fs

0

Для начала вы можете запустить top и посмотреть на общее использование процессора в третьей строке дисплея. Если средние значения нагрузки в первой строке высоки, а загрузка ЦП в третьей строке низкая, проблема заключается в использовании ввода-вывода. Чтобы сузить его более конкретно, вы можете использовать iotop , как предложил Zds.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .