问题:
因服务器磁盘占用100%而导致服务异常。
解决:
先用命令检查磁盘df -h
[root@localhost /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/klas-root 100G 100G 0G 100% /
发现根目录 /
占用确实100%
然后利用命令du -sh *
和 find /etc -type f -size +800M -print0 | xargs -0 du -h
排查。都没有找到能有效解决磁盘占用大文件。
那这个文件有没有可能被删除了呢?
命令 lsof -n | grep deleted
列出当前系统打开文件(被删除)
[root@localhost fd]# lsof -n | grep deleted
Xvnc 1356213 1356215 llvmpipe- root 1w REG 252.0 94609219584 252169258 /root/.vnc/localhost.localdomain:1.log(deleted)
这个文件有90多G那么大!!!
判断频繁用vnc导致日志文件过大问题,命令查看 ls -lh /root/.vnc/localhost.localdomain:1.log
,却提示文件不存在
[root@localhost fd]# tail /root/.vnc/localhost.localdomain:1.log
tail: 无法打开'/root/.vnc/localhost.localdomain:1.log' 读取数据: 没有那个文件或目录
虚拟文件系统对应进程目录 看看文件tail /proc/1356213/fd/1
(这个文件的指向就是/root/.vnc/localhost.localdomain:1.log
)
[root@localhost fd]# tail /proc/1356213/fd/1
SQL> SQL> 无法获取一行数据,忽略此输入无法获取一行数据,忽略此输入
SQL> SQL> 无法获取一行数据,忽略此输入无法获取一行数据,忽略此输入
SQL> SQL> 无法获取一行数据,忽略此输入无法获取一行数据,忽略此输入
SQL> SQL> 无法获取一行数据,忽略此输入无法获取一行数据,忽略此输入
SQL> SQ[root@localhost fd]# ls
竟然有输出,果然看似文件是被删了,事实上还一直占用着系统资源
这个时候只需要清空文件> /proc/1356213/fd/1
就行。
最后检查磁盘空间 ,成功释放
[root@localhost /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/klas-root 100G 12G 89G 12% /
操作参考文章linux系统空间不足,不重启进程,清理僵尸文件
标签:文件,vnc,100%,linux,fd,SQL,root,localhost From: https://www.cnblogs.com/Kinomotom/p/16932056.html