嘗試關閉時 Systemd 掛起
Distro: Gentoo systemd: 242
有一段時間,在我在這裡的兩個系統上,我一直無法正確關機(停止、關機、重啟)。它通過關閉服務等獲得大部分方式,然後停止。我必須使用神奇的 SysRq 鍵來完成這項工作。
我終於啟用了 debug-shell.service 並看了一下。事實證明,systemd 在某個時候會掛在 100% CPU 上。通常有 1 或 2 個服務仍然有程序,其中一些是殭屍(我假設因為 systemd 通常會刪除它們但不工作)。
這就是我所能確定的一切。我還能做些什麼來診斷問題?
編輯:範例截圖(裁剪):https ://imgur.com/OVOozrI內容實際上差異很大,因為事情的順序可能不同。
編輯 2:syslog 的相關部分。我覺得那裡沒什麼有趣的。唯一沒有“停止”而“停止”的是Dovecot。但是,您可以在底部看到,它最終確實退出了。這似乎是在 systemd 開始掛起之前。我記得在調試 shell 中,Dovecot 是一個殭屍。就在不久前,我嘗試關閉 Dovecot(成功)然後重新啟動,但 systemd 仍然掛起。
它確實看起來像這個影響 systemd 242 初始版本的錯誤: https ://bugs.gentoo.org/685002 (上游:https ://github.com/systemd/systemd/issues/12335 )。
而且,事實上,從 242 到 242r1(在 gentoo 的版本控制中)的變化是應用這個更新檔:https ://gitweb.gentoo.org/repo/gentoo.git/commit/sys-apps/systemd?id=eb1d80e6a30d09f9f139877c5b754c8a8e918d7a
好吧,在我更新到 242-r1 之後,這種情況就不再發生了。我能夠正確關機。不幸的是,我不確定為什麼。它可能是固定在 中的東西
systemd
,或者是某個地方的依賴項。