使用ls / 命令卡死,或者df -h 查看卡死解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ls / 命令卡死,或者df -h 查看卡死解决办法相关的知识,希望对你有一定的参考价值。

问题:

今天公司一台服务器 执行 ls / 命令时,系统卡死, ctrl+c 也不能结束,如下:

    [email protected]/23 # ls /
    ^C

此问题一般都是因为mount 对端服务失效,本地目录卡死造成

解决思路:

1. strace 命令跟踪,定位问题

首先使用 命令跟踪, 查看执行到哪一步卡死:

    [email protected]/26 # 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目录的记录

[email protected]/31 # cat /proc/mounts 
    ...
    192.168.10.150:/opt/ /mnt nfs4 ....

2. fuser 查看问题目录进程

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

[email protected]/30 # fuser -m /mnt
无法获取 /proc/4110/fd/255 的文件状态: 失效文件句柄
无法获取 /proc/9492/fd/255 的文件状态: 失效文件句柄
无法获取 /proc/29965/fd/255 的文件状态: 失效文件句柄

3.kill 解决

找到进程号直接kill

[email protected]/30 # kill -9 4110

[email protected]/30 # kill -9 9492

[email protected]/30 # kill -9 29965

问题解决

总结:

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

以上是关于使用ls / 命令卡死,或者df -h 查看卡死解决办法的主要内容,如果未能解决你的问题,请参考以下文章

fuser -v /dev/nvidia*卡死的替代方法

CentOS7中df命令卡死故障排查

conda install 安装慢,或者直接卡死,这么解决

linux exit回收资源 卡死

关于NFS的客户端挂载卡死问题记录

重磅 解决 hadoop job 卡死 根源问题