Решение проблемы с долгой перезагрузкой в openSUSE

Этот баг долго не давал мне покоя, ещё с версии 42.1. Суть в том, что при выключении или перезагрузке система замирала на консольном приглашении на 60-90 секунд, и лишь потом выключалась. Поиск в Google, конечно же, выдавал кучу подобных жалоб от других людей, вместе с советами по решению проблемы. Но мне ничего не помогало: ни отключение служб, ни ручное отмонтирование разделов, ни ручное завершение всех процессов.

Наконец, мне удалось выяснить, что дело было в кривизне Systemd 228, используемой в openSUSE Leap. Мне помог рецепт, описанный тут. Быстрое решение выглядит так:

The bug can be worked around by creating a file /etc/sysctl.d/50-coredump.conf with the following contents:

kernel.core_pattern=core

That causes the kernel to write coredumps directly, bypassing the buggy systemd code.

Однако, так ядро будет при определённых обстоятельствах писать большие дампы в файл на корневом разделе. Чтобы избежать этого, можно скидывать дамп ядра в /dev/null:

sudo -i

ln -s /dev/null /etc/sysctl.d/50-coredump.conf

echo '* hard core 0' >> /etc/security/limits.conf

UPD.

За последнее время мне удалось выяснить, что в некоторых случаях описанный выше метод не помогает, но зато гарантированно помогает уменьшение таймаута, который использует Systemd для ожидания завершения пользовательских процессов. Нужно всего лишь изменить файл /etc/systemd/system.conf, раскомментировав параметр DefaultTimeoutStopSec и установив ему какое-нибудь небольшое значение. Например, так:

#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=5s
#DefaultRestartSec=100ms
#DefaultStartLimitIntervalSec=10s
#DefaultStartLimitBurst=5

Теперь больше никаких задержек при перезагрузке или выключении!

4 Responses to Решение проблемы с долгой перезагрузкой в openSUSE

  1. Alexander:

    Полутораминутная задержка в Suse, слава богу, меня миновала, но подстерегла меня в Arch. Там systemd уже 234 версии, но баг всё тотже. Я перепробовал всё описанное в нете, всё без толку — через некоторое время комр начинает замирать снова. Самое смешное, что иногда он выключается совершенно нормально…

  2. Это проблема не специфичная для suse, арчеводы тоже жалуются. Кстати, совет из моего поста помог в итоге?

  3. Alexander:

    Помог, спасибо. Не знаю, надолго ли, но сегодня уже два раза выключился нормально. Как мне кажется, в основном от этих 90 секунд страдает именно arch.

  4. Аноним:

    Саша, ну ты изыскатель… СУПЕР! 🙂

Оставьте комментарий