我在 Intel Core i7-3770 上运行 Ubuntu 16.04.5 LTS。
在运行我自己编写的一个测试程序之后,该程序分配了所有内存,只是为了查看内存耗尽需要多长时间,系统恢复正常(除了一个小问题,这将在单独的问题中讨论)并开始几乎正常运行:只是有点慢。我以为这不是什么大问题,直到几分钟后它就冻结了。鼠标不动,键盘死机,我无法使用ctrl+alt+Fx
;什么都登录到另一个控制台。但我可以从我的笔记本电脑 ssh 进入它,这就是我所做的。
我不知道这种冻结是否与我的程序有关,该程序刚刚用完了所有内存(包括交换内存),从而收到异常,进而终止程序并将内存返回给系统。
无论如何,到目前为止我尝试的是:
sudo service lightdm restart
没什么。它会一直挂起,直到我必须ctrl+c
这样做。
我找到了 X 的 PID,将其终止,然后尝试使用以下方法重新启动它:
startx &
它尝试永远连接(我不知道要花多长时间因为我在此期间去吃饭了)然后它说:
xinit:放弃
xinit:无法连接到 X 服务器:连接被拒绝
等待 X 服务器关闭..........
xinit:X 服务器关闭缓慢,发送 KILL 信号
等待服务器死机......
xinit:X 服务器拒绝死亡
甚至没有将控制权返回给控制台。它被<defunct>
列为ps
。
我可以发送 sysrq 信号,但在发送之前,b
我想知道是否还有其他可以尝试的方法。
经过进一步检查,我发现ps
确实被列为Xorg.wrap
令人恐惧的D<
,这意味着它是不可中断的。我在其他地方读到过,在这种情况下唯一有帮助的事情就是重新启动。如果有人知道更好的方法,请解释一下。