首页/系统/Linux 运维命令速查/场景:NFS 卡死导致命令挂起
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条
磁盘与文件系统51 条
用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:NFS 卡死导致命令挂起

mount 服务端失联后 df/ls 卡住、进程 D 状态不可杀:定位卡在哪个挂载、以 soft 挂载替代或强制卸载恢复。

Linux 运维命令速查系统更新于 2026-10-12
场景NFS 服务端故障后客户端命令挂起
特征D 状态进程、df 无响应
恢复soft 挂载 / umount -f / 重启)

快速定位

快速定位
ps -eo pid,stat,wchan:25,cmd | awk '$2 ~ /D/'
cat /proc/$(pgrep -f 'df /mnt/nfs' | head -1)/stack 2>/dev/null
mount | grep nfs
dmesg | tail -n 20 | grep -i nfs

卸载与恢复

卸载与恢复
sudo umount -f /mnt/nfs        # 强制卸载(软挂载下有效)
sudo umount -l /mnt/nfs        # 延迟卸载(lazy,仍有进程占用时)
# 重新挂载为 soft 或使用 autofs 按需挂载
sudo mount -t nfs -o soft,timeo=30,retrans=3 10.0.0.8:/data /mnt/nfs
umount -f 在 hard 挂载 + 内核不响应时可能仍失败,最终手段是重启客户端;预防优于救火。

易错点

  • D 状态是内核态阻塞,kill -9 无效;先解决挂载问题而不是杀进程
  • lazy umount 后残留引用会让新挂载行为怪异,排查 mount | grep 或重启相关服务

数据来源与参考

  • man 8 umount(-f/-l)
  • man 5 nfs(soft/hard 语义)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌