Linux操作系统执行df -h命令卡死的解决方案

在使用Linux美国服务器的时候,df -h命令是常用的Linux命令。但有时在执行df -h命令时,经常会出现卡死的情况,那么应该怎么解决呢?经过raksmart.idcspy.com简单分析,最终发现此问题一般都是因为mount对端服务失效,本地目录卡死造成的。因此大家可以按照以下步骤进行解决。

1、首先使用strace ls命令跟踪查看执行到哪一步卡死

strace ls /..

lgetxattr("/MegaSAS.log", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available) lstat("/net", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0

lgetxattr("/net", "security.selinux", 0x258f850, 255) = -1 EOPNOTSUPP (Operation not supported) lstat("/net", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0

lgetxattr("/net", "system.posix_acl_access", 0x0, 0) = -1 EOPNOTSUPP (Operation not supported) lstat("/chaichuan_test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

lgetxattr("/chaichuan_test", "security.selinux", 0x258f850, 255) = -1 ENODATA (No data available) lstat("/chaichuan_test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

lgetxattr("/chaichuan_test", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)

lgetxattr("/chaichuan_test", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available) lstat("/mnt", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0

lgetxattr("/mnt",

可以看到,命令执行到 /mnt这个目录时,停止不动了

也可以使用cat /proc/mounts 查看当前mount状态,发现确实有对mnt目录的记录

cat /proc/mounts 192.168.10.149:/opt/ /mnt nfs4 ....

2、fuser查看问题目录进程

问题定位/mnt目录,使用fuser 查看此目录占用进程

fuser -m /mnt 无法获取 /proc/4110/fd/255 的文件状态: 失效文件句柄

无法获取 /proc/9492/fd/255 的文件状态: 失效文件句柄

无法获取 /proc/29965/fd/255 的文件状态: 失效文件句柄

3、kill命令解决

找到进程号直接kill

kill -9 4110 # kill -9 9492 # kill -9 29965

问题解决

strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的, 具体使用可以查看帮助。

转载于:https://blog.51cto.com/14345315/2401225

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值