df -h 卡死,ctrl+C都没用。
原因一:如果有网络盘挂载,如nfs、samba这类挂载,很有可能对端服务失效,目录卡死的原因,
原因二:本地目录卡死的功能。
首先用strace命令跟踪,查看df命令执行到哪一步开始卡死。
[root@jzbx_web1 ~]# strace df
中间省略输出内容
stat("/sys/kernel/config", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
stat("/", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
stat("/sys/fs/selinux", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
stat("/proc/sys/fs/binfmt_misc",
从这里就可以看到了,命令执行到/proc/sys/fs/binfmt_misc这个目录时,就开始停止不动了
[root@jzbx_web1 ~]# mount -l
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
可以看到的确有对这个目录的有系统方式做的挂载操作。
然后发现ls也是卡死的
[root@jzbx_web1 ~]# umount -l /proc/sys/fs/binfmt_misc 即可
或者暴力重启服务器。
还有其他解决方法,后续补充,欢迎讨论