linux df -Th指令卡死

问题

复制代码
今天发现服务器某些指令卡死,并且root目录也没法ls查看,df -Th也卡死,如下

解决方法

复制代码
经过搜索后发现是磁盘问题导致,是root下某个挂载点导致错误,可以用如下脚本来测验挂载点是否有错误
bash 复制代码
# 创建一个测试脚本,逐个挂载点测试
cat > /test_mounts.sh << 'EOF'
#!/bin/bash
echo "测试每个挂载点的响应时间..."

for mnt in $(mount | awk '{print $3}'); do
    echo -n "测试 $mnt ... "
    timeout 2 stat "$mnt" >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "正常"
    elif [ $? -eq 124 ]; then
        echo "卡死/超时 ← 可能是这个导致df卡死"
    else
        echo "错误"
    fi
done
EOF

chmod +x /test_mounts.sh
./test_mounts.sh

执行后结果如下

发现是/root/thinclient_drives挂载点导致错误,查后发现这个 xrdp 客户端驱动器映射的 FUSE 挂载有问题。使用如下指令重新启动就好了

bash 复制代码
# 1. 清理当前挂载
sudo fusermount -uz /root/thinclient_drives 2>/dev/null
sudo umount -l /root/thinclient_drives 2>/dev/null

# 2. 删除并重建目录
sudo rm -rf /root/thinclient_drives
sudo mkdir -p /root/thinclient_drives
sudo chmod 700 /root/thinclient_drives

# 3. 重启 xrdp 服务
sudo systemctl restart xrdp-sesman

如果不想用xrdpu也可以直接禁用(上面重启和下面禁用2选1即可)

bash 复制代码
# 1. 永久禁用客户端驱动器映射
sudo sed -i 's/^FuseMountName=.*/#FuseMountName=thinclient_drives/' /etc/xrdp/sesman.ini

# 2. 或完全禁用 FUSE 通道
sudo sed -i 's/^ChansrvPort=.*/ChansrvPort=DISABLED/' /etc/xrdp/sesman.ini

# 3. 重启服务
sudo systemctl restart xrdp-sesman

重启后发现root目录和df -Th指令正常

相关推荐
无足鸟ICT4 分钟前
【RHCA+】mpstat命令(监控CPU)
linux
乐维_lwops28 分钟前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
GeW1 小时前
新质生产力Linux和数据库为啥这么关键
linux
番茄啊2 小时前
linux 开启xftp连接
linux·运维·服务器
CodeYp20192 小时前
第1讲:Linux 基础指令
linux·指令
IT利刃出鞘2 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
李松桃2 小时前
基于端口号的服务配置
linux·nginx-核心模块配置
Lsetea2 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien20043 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
十碗饭吃不饱4 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络