Почему Ubuntu активно использует жесткий диск сразу после запуска - Zhbert's Home Нажмите "Enter", чтобы перейти к контенту

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

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


Справка

Ubuntu -операционная система, основанная на Debian GNU/Linux. Основным разработчиком и спонсором является компания Canonical. В настоящее время проект активно развивается и поддерживается свободным сообществом

Индикатор жесткого диска — если кто не знал, при любой работе с внутренним хранилищем вашей машины факт обращения к последнему отражается в мигании специального светодиода на корпусе. Он есть как на полноценных десктопах, так и на ноутбука и прочей портативной технике. Иногда еще, смотря на этот светодиод, что-то знающие о нем люди говорят «компьютер думает!» (последнее не совсем верно с точки зрения работы ПК, но суть примерно отражает).


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

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

iotop terminal

Для запуска утилиты наберите в терминале команду sudo iotop, где sudo — для запуска утилиты от root пользователя, ну а iotop, он и в Африке iotop, как говорится.

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

iotop

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

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

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


Справка

Ext4 (англ. fourth extended file system, ext4fs) — журналируемая файловая система, используемая в операционных системах с ядром Linux, созданная на базе ext3.

Журналируемая файловая система сохраняет список изменений, которые она будет проводить с файловой системой, перед фактическим их осуществлением. Эти записи хранятся в отдельной части файловой системы, называемой журналом (англ. journal) или логом (англ. log). Как только изменения файловой системы внесены в журнал, она применяет эти изменения к файлам или метаданным, а затем удаляет эти записи из журнала. Записи журнала организованы в наборы связанных изменений файловой системы.

При перезагрузке компьютера программа монтирования может гарантировать целостность журналируемой файловой системы простой проверкой лог-файла на наличие ожидаемых, но не произведённых изменений и последующей записью их в файловую систему. То есть, при наличии журнала в большинстве случаев системе не нужно проводить проверку целостности файловой системы. Соответственно, шансы потери данных в связи с проблемами в файловой системе значительно снижаются.


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

  • В каталоге /etc/pm/ создаем директорию power.d. Сделать это можно при помощи простой команды /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.
nano config file

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

Будьте первым, кто оставит комментарий!

Добавить комментарий

Ваш адрес email не будет опубликован.