美文网首页
ls等io操作卡死处理办法

ls等io操作卡死处理办法

作者: SetZero | 来源:发表于2019-03-04 17:46 被阅读0次

    strace 命令跟踪,定位问题。首先使用命令跟踪, 查看执行到哪一步卡死:

    $ 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/mountscat /etc/mtab 查看当前mount状态,发现确实有对mnt目录的记录

    $ cat /proc/mounts 
    ...
    192.168.10.150:/opt/ /mnt nfs4 ....
    $ cat /etc/mtab
    ...
    192.168.10.150:/opt/ /mnt nfs4 ....
    

    接下来将这个目录进行卸载

    $ umount -l /mnt
    

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

    相关文章

      网友评论

          本文标题:ls等io操作卡死处理办法

          本文链接:https://www.haomeiwen.com/subject/xpqxxqtx.html