Почему Ubuntu активно использует жесткий диск сразу после запуска | Zhbert’s Home
Zhbert's Home
Домашняя страничка Zhbert'а

Почему Ubuntu активно использует жесткий диск сразу после запуска

СТАТЬИ / LINUX / ПОЧЕМУ UBUNTU АКТИВНО ИСПОЛЬЗУЕТ ЖЕСТКИЙ ДИСК СРАЗУ ПОСЛЕ ЗАПУСКА

Не так давно после чистой установки Ubuntu на два ноутбука я обнаружил интересную закономерность — после запуска системы в течение какого-то довольно долгого времени система активно обращается к жесткому диску, что выражается в постоянном горении индикатора жесткого диска и ощутимом нагреве последнего (летом у нас на пятом этаже жара, поэтому железо при работе греется гораздо сильнее, чем в любое другое время).

Я задумался, в чем может быть проблема, ведь это не Windows, где постоянно дерганье винчестера норма, это Linux, который в принципе может работать только из оперативной памяти и к диску обращаться очень редко.

Посмотреть активность диска можно при помощи специальной консольной утилиты iotop. Если в системе она у вас отсутствует, ее можно установить простой командой sudo apt install iotop. На скриншоте ниже пример вывода утилиты в терминале.

После запуска утилиты перед нами предстанет состояние всех процессов, имеющих доступ к жесткому диску, отсортированных по убыванию скорости обращения к диску.

Наверху окна показана общая скорость чтения и записи на жесткий диск, ниже список процессов, имеющих к нему доступ, и данные по каждому из них.

В списке процессов меня смутили два пункта — это демон snapd и процесс, название которого напоминало что-то вроде jbd2/sda0-4. Первое я сразу отмел, так как буквально через пару минут активность демона snap прекратилась, а вот второе продолжало грузить диск.

Итак, что это такое? Так как файловая система у меня была традиционно Ext4, то сразу стало понятно, что упомянутый выше процесс, это демон, отвечающий за работу с журналом файловой системы. Да, ext4 журналируемая ФС.

Для решения этой проблемы нужно было просто указать ему, чтобы он занимался этим реже, чем было изначально. Для этого нужно выполнить несколько простых действий:

  • В каталоге /etc/pm/ создаем директорию power.d. Сделать это можно при помощи простой команды mkdir /etc/pm/power.d/. Так как каталог этот защищен для доступа простым пользователям, команды выполняются с привилегиями суперпользователя — root;
  • Создаем в созданном каталоге файл journal-commit;
  • Редактируем созданный файл текстовым редактором: sudo nano /etc/pm/power.d/journal-commit;
  • В него нужно дописать одну строчку: JOURNAL_COMMIT_TIME_AC=${JOURNAL_COMMIT_TIME_AC:-120}. Важно! Не забудьте поставить в конце переход на следующю строку!;
  • Нажимаем Ctrl+O для сохранения изменений, и Ctrl+X для выхода из nano.

Перезагружаем машину. Все, после загрузки активность диска на минимальном уровне, проблема решена.