在Linux实例中执行df -H
命令查看文件系统磁盘使用情况时,命令一直处于执行中,无回显信息。
可能是由于实例中挂载的NFS(Network File System,网络文件系统)共享磁盘失效,导致命令执行hang住。
执行如下命令,跟踪df -H
命令执行情况。
strace df -H
本例中命令执行时卡在了/data/nfs处。
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/sys/kernel/security", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 stat("/dev/shm", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=40, ...}) = 0 stat("/data/nfs",
执行如下命令,查看/data/nfs目录挂载信息。
mount -l | grep /data/nfs
本例/data/nfs为NFS目录,且已失效。
192.168.xx.xx:/home/data/nfs on /data/nfs type nfs4 (rw,relatime,vers=4.0, rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys, clientaddr=192.168.xx.xx,local_lock=none,addr=192.168.xx.xx)
执行如下命令,查看是否有进程在使用该目录。
fuser -cu /data/nfs
本例中chrony进程正在使用该目录。
/data/nfs: 579(chrony)
(可选) 若存在进程正在使用hang住的目录,可执行如下命令,停止该目录中运行的所有进程。
停止进程前,请确认不会影响数据。
fuser -ck /data/nfs
执行如下命令,卸载失效目录。
umount -v /data/nfs
再次执行df -H
命令,验证命令可以正常执行。