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指令正常

相关推荐
一叶知秋yyds1 天前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组1 天前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
safestar20121 天前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘1 天前
负载均衡的多维深度解析
运维·负载均衡
楠奕1 天前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT1 天前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!1 天前
Linux常用指令(2)
linux·运维·服务器
不愿透露姓名的大鹏1 天前
Oracle归档日志爆满急救指南
linux·数据库·oracle·dba
飞Link1 天前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化
W.W.H.1 天前
嵌入式常见的面试题1
linux·网络·经验分享·网络协议·tcp/ip