ls等io操作卡死处理办法

2019-03-04  本文已影响0人  SetZero

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对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的, 具体使用可以查看帮助.

上一篇下一篇

猜你喜欢

热点阅读