新接手一个服务器,昨天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 ~]# cd /proc/sys/fs/binfmt_misc
[root@jzbx_web1 fs]# ls 

注意:我目前没有找到任何方法解决(我重启了之后df -h恢复正常)

又遇到了这个问题,这次没有重启系统,

解决方式1. systemctl restart proc-sys-fs-binfmt_misc.automount;

2. 升级到最新 systemd-219-57 版本;

3. 按照红帽知识库的步骤对 proc-sys-fs-binfmt_misc.automount 进行 mask 操作, 只进行静态的 mount 操作;

第一种方法就能解决啦

Logo

更多推荐