Топ говорит, что IOWAIT высок, как я могу найти виновных процессов

9

Я знаю, что не должен этого делать, но я запускаю какую-то систему Ubuntu с флэш-накопителя USB в постоянном режиме, и это мучительно медленно.

«top» говорит мне, что это не из-за процессора, а из-за ввода-вывода, то есть высокого% wa.

Я уже удалил своп, но для дальнейшей оптимизации мне нужно получить некоторое представление о том, какие процессы так сильно скрывают диск.

Итак, в основном, я хотел бы, чтобы эквивалент «top» отображал процессы с высоким IOWAIT, очень похожий на «top», отображающий процессы с высоким% CPU.

JeanHuguesRobert
источник
Хотелось бы, чтобы у этого был лучший ответ. Я просто хочу, чтобы top включил время iowait в проценты процессора.
Букзор

Ответы:

5

Многие USB-накопители очень медленные, особенно для записи, поэтому вы можете сделать очень мало, кроме как попробовать более быстрый накопитель.

Чтобы ответить на ваш прямой вопрос: вы можете получить некоторое представление о том, что происходит на диске iotop -o- если оставить его запущенным в течение загруженных периодов, которое покажет вам, какие процессы активно выполняют чтение / запись на диске и сколько. Это может выделить какой-то процесс или службу, без которых вы можете обойтись, и отключить их, чтобы помочь им в этом. Есть несколько заданий crons во многих установках Linux, которые сканируют порцию файловой системы (если не всю ее / их) время от времени, чтобы обновить поисковые кэши (например, updatedbзадачу, которая обновляет данные, используемые такими командами locate) - если вы найдете одну из это вызывает вашу медлительность, тогда их можно безопасно удалить из списка вещей cron для регулярного запуска.

Сколько оперативной памяти у вас на целевой машине? Если по этой мере это небольшая машина, то это не поможет, так как будет мало места для кэширования чтений (поэтому для повторного чтения через некоторое время нужно будет снова приходить с USB-накопителя, а не из кэшированной копии в ОЗУ).

Вы также можете попробовать урезанную версию Ubuntu, особенно если у вас мало оперативной памяти, но она также может помочь, если у вас много ОЗУ, но медленный диск (-ы), сокращая время загрузки, если ничего больше. lubuntu - популярный выбор для этого - все обычные пакеты доступны, если они вам нужны, но по умолчанию он устанавливает меньше, по умолчанию запускает меньше служб при загрузке и использует среду рабочего стола с меньшим весом (все, кроме этих изменений, одинаково , так что вы должны найти его относительно знакомым, даже если Ubuntu - единственный вариант Linux, с которым у вас большой опыт работы).

Дэвид Спиллетт
источник
2
Благодарю. Запустив iotop -o -d 5 (5 секунд, я не быстрый читатель), я заметил 3 вещи: 1 / jdb2, 2 / gnome-setting-daemon и 3 / chromium, которые вместе генерируют почти 50% ва ... Почему запись gnome & chromium на диск все время остается загадкой (однако данных не так много, около 10K / s)? Что касается jdb2, это моя ошибка, я думаю, я, к сожалению, использовал ext4 fs и ищу решения, чтобы вернуться к более подходящему ext2 для USB-ключей с медленной записью.
Жан Хью Роберт
2
Кбайт / с или запись могут быть проблемой для флэш-накопителей, поскольку они должны записывать большими блоками (поэтому при каждой малой записи контроллер может прочитать полный блок, обновить его, а затем записать). Chromium будет регулярно обновлять свой дисковый кэш, возможно, постоянно, если сайты, которые вы открываете, выполняют фоновые запросы для своевременного обновления информации (Facebook и многие подобные приложения делают это). Использование свободной от журналов файловой системы, такой как ext2, улучшит ситуацию, удалив записи в журнал из ситуации, но это менее безопасно, и я не уверен, насколько заметной будет разница.
Дэвид Спиллетт