首页 > 系统相关 >linux磁盘占用100%,却找不到大文件——记一次僵尸文件导致的服务异常

linux磁盘占用100%,却找不到大文件——记一次僵尸文件导致的服务异常

时间:2022-11-28 14:24:00浏览次数:69  
标签:文件 vnc 100% linux fd SQL root localhost

问题:

  因服务器磁盘占用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

相关文章

  • vue大文件上传失败
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好......
  • linux c下程序调试工具详解
    1.htop/tophtoptophtop主要参数说明#Time:当前时间#Uptime:系统运行时间#Tasks:进程总数、当前进程运行数#Loadaverage:1、5、10分钟的负载情况#Avg:系统CPU......
  • # vue 实现文件切上传
    vue实现文件切上传在实际开发项目过程中有时候需要上传比较大的文件,然后呢,上传的时候相对来说就会慢一些,so,后台可能会要求前端进行文件切片上传,很简单哈,就是把比如说1个G的......
  • 设置Linux服务器通过密钥登录
    设置Linux服务器通过密钥登录1.制作密钥对首先在服务器上制作密钥对[root@host~]$ssh-keygen<==建立密钥对Generatingpublic/privatersakeypair.Enterfil......
  • 2022年最新整理的Linux命令大全,超级详细版!
    一、基础知识1.1Linux系统的文件结构/bin二进制文件,系统常规命令/boot系统启动分区,系统启动时读取的文件/dev设备文件/etc大多数配置文件/......
  • 查看当前linux占用的端口号
    Linux查看端口占用情况可以使用 lsof 和 netstat 命令。lsoflsof(listopenfiles)是一个列出当前系统打开文件的工具。lsof查看端口占用语法格式:lsof-i:端口......
  • Linux日志轮询设置时间执行【原创】
    自动切割时间默认的logrotate(配置文件里设置的是cron.daily)一般会在每天的3点05分到3点50分之间执行但是由于我们统计日志时间需要从每天0点开始,所以就要利用crontab设置......
  • Shell 把日志记录按天切割到不同的文件【转】
    #!/bin/bash#文件夹不存在,则创建,参数从$1开始createFolder(){if[!-d$1];thenmkdir-p$1#创建文件夹:-p递归创建文件夹chmod-R777......
  • nexus 仓库有jar 但是本地下载下来有 lastupdate 文件
    nexus仓库有jar本地也可以把jar包下载下来,但是本地下载下来还有有lastupdate文件 原因 上传到nexus的jar包少了pom文件重新上传jar 要记得勾选这个......
  • Linux网络虚拟化和Docker网络--上
    Linux网络虚拟化1.Linux网络常见概念与操作1.1NameSpace定义​​简单理解namespace​​​​namespace​​是Linux上的网络隔离技术的名称。其实无论是Linux网络中还是其......