我在 NFS 挂载点上执行了一些大型文件传输。挂载点所在的服务器不小心重启了,现在发起这些大型传输的服务器似乎因此陷入了困境。
如果我运行top
,我会看到以下内容:
kill
我尝试做的第一件事是依次使用 -1 -2 -9 和 -15 标志以及上面显示的每个进程 ID运行。这样我就可以继续,但不会终止进程。我尝试做的下一件事是重新启动服务器,但都reboot
没有shutdown -r now
成功。当我运行时,shutdown -r now
标准广播消息已发出,但服务器没有重新启动。我通过查看服务器正常运行时间(25 天)确认了这一点。
所以我有点卡住了。我以 root 身份运行这些命令。
编辑:这是另一个有趣的消息:
在 top 中,我没有看到任何其他进程使用超过百分之几的内存或超过 5% 的 CPU。
编辑2:输出/var/log/messages
答案1
好吧,是时候采取一些更激烈的行动了!
echo 1 >/proc/sys/kernel/panic
这将指示内核,当内核崩溃时,在 1 秒内重新启动主机。
echo c >/proc/sysrq-trigger
这迫使内核崩溃。所以希望你最终能重新启动主机。
答案2
您已启动关机过程,因此最好的办法是重新启动它。如果它是物理机器,那么您可以物理关闭服务器还是通过服务处理器关闭?
如果没有,并且您认为是这些特定进程挂起了,那么尝试使用以下命令mv
终止所有名为的进程:gzip
killall mv
killall gzip
作为一般免责声明,当心使用 killall 命令,因为您不想意外杀死某些系统进程,所以请注意您正在杀死什么。
另外,查看挂载了什么,df -h
然后尝试卸载它们。我曾看到我的 Linux 系统在关机时挂起,因为它们不会放弃 nfs 挂载。我通常不得不“偷懒”地卸载它们
umount -l /path/of/mount/point
编辑1
正常重启的其他方法:
您的系统对此有响应吗Ctrl+Alt+Del
?
如果没有,请尝试神奇的 SysRQ 组合键:Alt+SysRq+R+E+I+S+U+B
。Sysrq=PrintScreen 按钮。按住 alt 和 sysrq 键,按顺序依次输入 REISUB 组合键。它基本上会先终止所有进程,然后进行其他清理,然后重新启动。这仅在内核中启用了神奇的 sysrq 时才有效。仅供参考:
R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing