1 из 10 раз, systemd зависает во время перезагрузки. Я не понимаю причину. Что / где я должен смотреть, чтобы решить эту проблему? Я использую systemd v196 и не могу обновить его до версии >=198, потому что для последнего требуется последнее ядро (с поддержкой контрольных групп), которое не может быть обновлено по требованиям заказчика. Интересно, есть ли разумный способ обнаружить причину такого поведения и заставить systemd перезагрузить систему безоговорочно.
обратите внимание, что эта ссылка не не поможет: http://freedesktop.org/wiki/Software/systemd/Debugging/#index2h1
как вы можете прочитать здесь:
Завершение Работы Никогда Не Заканчивается
если нормальные перезагрузка или выключение никогда не заканчивают даже после ждать несколько
минуты, вышеуказанный метод для создания журнала выключения не поможет и
журнал должен быть получен другими методами. Два варианта, которые
полезно для отладки проблем загрузки может быть использован также для выключения
проблемы:use a serial console use a debug shell - not only is it available from early boot, it also stays active until late shutdown.
я использую последовательную консоль, и по какой-то причине я даже могу войти в систему, так как интерфейс eth его или был поднят (после отключения во время шагов перезагрузки).
Я не вижу смысла.
# cat /etc/systemd/system/
basic.target.wants/ getty.target.wants/ multi-user.target.wants/ sysinit.target.wants/
dbus-org.freedesktop.NetworkManager.service local-fs-pre.target.wants/ sockets.target.wants/ syslog.service
display-manager.service local-fs.target.wants/ swap.target
обратите внимание на своп.цель. Он есть, но мы вообще не используем разделы подкачки. Я попытался замаскировать своп, но проблема зависания. Последняя строка в консоли:
[OK] Stopped target shutdown.
EDIT: как я сказал, Я могу повторно войти через ssh через eth.
теперь я покажу вам два журнала. Первый журнал происходит при перезагрузке/shutdwon зависает, а второй лог после перезагрузки удается:
повесить случае, выход всегда так (полный журнал):
[ OK ] Stopped Network Time Service (one-shot ntpdate mode).
Stopping Modem and VPN connections autoconnect...
Stopping Login Service...
Stopping LSB: Avahi mDNS/DNS-SD Daemon...
[ OK ] Stopped Monitoring free system resources.
[ OK ] Stopped Monitoring dropbear socket.
[ OK ] Stopped Login Service.
[ OK ] Stopped Modem and VPN c[ OK ] Stopped Getty on tty1.
[ OK ] Stopped Serial Getty on ttyO0.
[ OK ] Unmounted /var/lib/opkg.
[ OK ] Stopped Network Manager.
[ OK ] Stopped LSB: Avahi mDNS/DNS-SD Daemon.
Stopping D-Bus System Message Bus...
[ OK ] Stopped target Remote File Systems.
[ OK ] Stopped Suspend manager.
Stopping X Server...
[ OK ] Stopped X Server.
Stopping System Logging Service...
[ OK ] Stopped System Logging Service.
[ 77.580000] g_ether gadget: using random self ethernet address
[ 77.580000] g_ether gadget: using random host ethernet address
[ 77.590000] usb0: MAC 6e:0d:de:b0:33:4f
[ 77.590000] usb0: HOST MAC 62:7a:81:02:f3:ff
[ 77.600000] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 77.600000] g_ether gadget: g_ether ready
[ 77.610000] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[ 77.610000] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
[ 77.620000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 77.630000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 77.640000] usb usb2: Product: MUSB HDRC host driver
[ 77.640000] usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
[ 77.650000] usb usb2: SerialNumber: musb-hdrc.0
[ 77.650000] hub 2-0:1.0: USB hub found
[ 77.660000] hub 2-0:1.0: 1 port detected
[ 77.690000] ADDRCONF(NETDEV_UP): usb0: link is not ready
[ OK ] Stopped target Reboot.
[ OK ] Stopped Reboot.
[ OK ] Stopped target Unmount All Filesystems.
[ OK ] Stopped target Shutdown.
[ 78.330000] <46>systemd-journald[328]: Received SIGUSR1
<hang>
обычную перезагрузку:
Unmounting /var/lib/opkg...
[ OK ] Stopped target Network.
Stopping SSH Per-Connection Server...
[ OK ] Stopped target Graphical Interface.
[ OK ] Stopped target Multi-User.
Stopping Monitoring free system resources...
Stopping Monitoring dropbear socket...
Stopping Network Time Service (one-shot ntpdate mode)...
[ OK ] Stopped Network Time Service (one-shot ntpdate mode).
Stopping Modem and VPN connections autoconnect...
Stopping Login Service...
Stopping LSB: Avahi mDNS/DNS-SD Daemon...
[ OK ] Stopped Monitoring free system resources.
[ OK ] Stopped Monitoring dropbear socket.
[ OK ] Stopped Login Service.
[ OK ] Unmounted /var/lib/opkg.
Stopping Network Manager...
[ OK ] Stopped Getty on tty1.
[ OK ] Stopped Network Manager.
[ OK ] Stopped Serial Getty on ttyO0.
[ OK ] Stopped Suspend manager.
[ OK ] Stopped LSB: Avahi mDNS/DNS-SD Daemon.
Stopping D-Bus System Message Bus...
Stopping X Server...
Stopping Permit User Sessions...
[ OK ] Stopped Permit User Sessions.
[ OK ] Stopped target Remote File Systems.
[ OK ] Stopped X Server.
[ OK ] Stopped D-Bus System Message Bus.
Stopping System Logging Service...
[ OK ] Stopped System Logging Service.
[ OK ] Stopped target Basic System.
[ OK ] Stopped target Sockets.
[ OK ] Closed dropbear.socket.
[ OK ] Closed D-Bus System Message Bus Socket.
[ OK ] Stopped target System Initialization.
Stopping Import configuration from SD card...
[ OK ] Stopped Import configuration from SD card.
Stopping Load Kernel Modules...
Stopping Apply Kernel Variables...
[ OK ] Stopped Apply Kernel Variables.
[ OK ] Stopped target Local File Systems.
Unmounting /var...
Unmounting /tmp...
[ OK ] Closed Syslog Socket.
[ OK ] Failed unmounting /var.
[ OK ] Unmounted /tmp.
[ OK ] Stopped Load Kernel Modules.
[ OK ] Reached target Unmount All Filesystems.
[ OK ] Stopped target Local File Systems (Pre).
Stopping Remount Root and Kernel File Systems...
[ OK ] Stopped Remount Root and Kernel File Systems.
[ OK ] Reached target Shutdown.
[ 52.340000] omap_wdt: Unexpected close, not stopping!
Sending SIGTERM to remaining processes...
[ 52.490000] <46>systemd-journald[335]: Received SIGTERM
Sending SIGKILL to remaining processes...
Unmounting file systems.
Unmounting /sys/fs/fuse/connections.
Unmounting /var.
All filesystems unmounted.
Deactivating swaps.
All swaps deactivated.
обновление:
после некоторых исследований и отладки я обнаружил причину прерывания работы, хотя я все еще не могу ее решить. Что происходит, что для по некоторым причинам одна из пользовательских служб запускается до завершения завершения работы, что приводит к зависанию процедуры завершения работы. Это один из случаев повешения. Другой вид зависание, когда выключение не прерывается, но он останавливается в какой-то момент. По этой причине, прежде чем решать все конфликты и другие возможные зависания по одному, я хочу безоговорочно активировать аппаратный сторожевой таймер. Чтобы сделать это через systemd, я включил и протестировал, отдельно или вместе, RuntimeWatchdogSec и ShutdownWatchdogSec. К сожалению, они не помогли. Глядя на исходный код, кажется, systemd входит в цикл, где он все еще ждет, пока все fs будут размонтированы и другие виды очистки будут выполнены, прежде чем позволить сторожевой пес действительно быть эффективным (не сохраняя его живым).
Я застрял. То, что я прошу вас, чтобы найти способ либо:
1. у сторожевого пса включен безусловно по крайней мере, начиная с точки, где остановка начинается
2. обнаружен и решить все конфликты простым способом
предпочтительно первое решение.