我在 NFS 装载上进行了一些巨大的文件传输操作。挂载点所在的服务器不小心重启了,现在发起这些大传输的服务器似乎被它们拖垮了。
如果我运行top
,我会看到以下内容:
我尝试的第一件事是运行kill
每个 -1 -2 -9 和 -15 标志,并依次运行上面显示的每个进程 ID。这让我可以继续,但并没有终止进程。我尝试的下一件事是重新启动服务器,但既没有reboot
也没有用shutdown -r now
。当我运行时shutdown -r now
,标准广播消息被发送出去,但服务器没有重启。我通过查看服务器正常运行时间(25 天)确认了这一点。
所以现在我有点卡住了。我以 root 身份运行这些命令。
编辑:这是另一个有趣的花絮:
最重要的是,我没有看到任何其他进程使用超过百分之一的内存或超过 5% 的 CPU。
编辑2:输出/var/log/messages
好的,是时候做些更激烈的事情了!
这指示内核,当您内核崩溃时,在 1 秒内重新启动主机。
这迫使内核恐慌。所以希望你最终会重启主机。
您已经启动了关机过程,所以最好的办法是重新启动它。如果它是一台物理机器,那么您可以物理关闭服务器或通过服务处理器吗?
如果没有,并且您认为是这些特定进程挂起,请尝试杀死所有命名的进程
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 组合键。它基本上首先杀死所有进程,进行一些其他清理,然后重新启动。这仅在您的内核中启用了 magic sysrq 时有效。供参考: