使用ls / 命令卡死,或者df -h 查看卡死解决办法
问题:
今天公司一台服务器 执行 ls / 命令时,系统卡死, ctrl+c 也不能结束,如下:
root@pts/23 # ls /^C
此问题一般都是因为mount 对端服务失效,本地目录卡死造成
解决思路:
1. strace 命令跟踪,定位问题
首先使用 命令跟踪, 查看执行到哪一步卡死:
root@pts/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, ...}) = 0lgetxattr("/net", "security.selinux", 0x258f850, 255) = -1 EOPNOTSUPP (Operation not supported)lstat("/net", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0lgetxattr("/net", "system.posix_acl_access", 0x0, 0) = -1 EOPNOTSUPP (Operation not supported)lstat("/chaichuan_test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0lgetxattr("/chaichuan_test", "security.selinux", 0x258f850, 255) = -1 ENODATA (No data available)lstat("/chaichuan_test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0lgetxattr("/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, ...}) = 0lgetxattr("/mnt",
可以看到,命令执行到 /mnt这个目录时,停止不动了
也可以使用cat /proc/mounts 查看当前mount状态,发现确实有对mnt目录的记录
root@pts/31 # cat /proc/mounts ...192.168.10.150:/opt/ /mnt nfs4 ....
2. fuser 查看问题目录进程
问题定位/mnt目录,使用fuser 查看此目录占用进程
root@pts/30 # fuser -m /mnt
无法获取 /proc/4110/fd/255 的文件状态: 失效文件句柄
无法获取 /proc/9492/fd/255 的文件状态: 失效文件句柄
无法获取 /proc/29965/fd/255 的文件状态: 失效文件句柄
3.kill 解决
找到进程号直接kill
root@pts/30 # kill -9 4110root@pts/30 # kill -9 9492root@pts/30 # kill -9 29965
问题解决
总结:
strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的, 具体使用可以查看帮助.
转载于:https://blog.51cto.com/chaichuan/2104093
使用ls / 命令卡死,或者df -h 查看卡死解决办法相关推荐
- Linux通过df -h查看磁盘空间满,但实际占用却没有那么大
最近项目现场经常反馈说是磁盘满了,但实际占用不却没有那么多,导致无法操作,远程查看后,确实如此,现将相关解决方案记录如下: 查看现有硬盘情况 df -h 2. 再查看实际占用 // 切换到要目录下 c ...
- Linux系统卡死,只有鼠标能动,解决办法
1.原因 可能由于CPU或内存占用过高,引起界面卡死,只有鼠标能动 2.解决办法 a.在命令行输入命令top top b.kill -9 PID kill -9 PID 把桌面的进程杀掉 比如你可能使 ...
- centos6 升级gcc / 无法识别的命令行选项“-std=gnu++1y”的解决办法
在npm过程遇到:错误:无法识别的命令行选项"-std=gnu++1y"的解决办法 1.下载源文件,并安装: wget http://people.centos.org/tru/d ...
- Centos7- wget未找到命令,there are no enabled repos 解决办法
转载自Centos7- wget未找到命令,there are no enabled repos 解决办法 简介: 解决:CentOS 7 wget -O /etc/yum.repos.d/CentO ...
- 重新启动postgre报错时,解决方案 ( 由备份文件占用空间太大造成 ) (linux 命令 df -h 查看磁盘空间)
在这里使用了一个liunx下的命令查看磁盘空间 df: disk free http://www.cnblogs.com/chenwenbiao/archive/2011/08/07/2129831 ...
- NFS导致df -h卡主解决
NFS导致df -h无法使用解决 NFS服务意外断开,导致挂载的客户端"df -Th"命令无法使用,及挂载目录无法"cd""ls" 解决思路 ...
- 使用alipaySDK编译时找不到openssl/asn1.h文件的解决办法(初探)
构建新的项目时,在重新引入alipaySDK进行编译之后出现了一个错误:找不到 #include<openssl/asn1.h> 这个文件 首先排除是SDK的问题以及代码问题.在重新翻看了 ...
- 如何查询oracle死锁,Oracle死锁查看和解决办法汇总
由于生产的tomcat 经常有假死问题,困扰很久,最后发现有死锁,解决办法分享 1.查看死锁 1)用dba用户执行以下语句select username,lockwait,status,machine ...
- python django升级安装sqlite3后在python命令行还是显示旧版本的解决办法
报错(SQLite 3.8.3 or later is required (found 3.7.17).)的解决办法: 参考链接:https://blog.csdn.net/weixin_441109 ...
最新文章
- 面完字节跳动,才知道自己的数据结构与算法有多薄弱...
- .net微软消息队列(msmq)简单案例
- with 关键字实现递归查询
- Caffe训练过程:test_iter test_interval等概念
- CentOs6.5下安装svn
- [Swift]检查API可用性
- 汇编调用C函数--利用堆栈传递参数
- AlphaGo Zero:从头开始学习
- 使用SQL查询分析器删除所有用户表
- pcs7服务器一直显示在同步,西门子PCS7OS系统时钟同步出现跳变的解决方法
- 【C语言】游戏管理系统简单设计
- Unity从Asset Store下载的资源安装包默认的保存位置及其修改
- MATLAB识别实验,基于MATLAB的人脸识别系统实验报告.pdf
- Java工程师成神之路 | 2020正式版
- Pollard’s rho 算法解大数质因子问题
- 从ELK/EFK到PLG – 在EKS中实现基于Promtail + Loki + Grafana容器日志解决方案
- [Windows] 迅雷 无修改 无限制 无视封锁
- 科技视界杂志科技视界杂志社科技视界编辑部2022年第21期目录
- 安卓蓝牙操作+蓝牙工具类
- 成品APP直播源码HLS直播(M3U8)回看和下载功能的实现