• 02:linux 磁盘满了,却找不到大文件问题处理 lsof命令


    今天,上午收到zabbix 报警。

    报警内容:一台服务器,磁盘满了。

    故障排查步骤:

    之前磁盘满了,一般都是由于服务器上面再跑的服务日志引起的占用太多空间,服务器上有java程序,去删除多余的日志就可以了。但是我记得这台服务器我是做过日志自动清理机制的。

    因此登录服务器,df -h 发现磁盘91% , df -i  索引正常。 

    我首先想到是不是日志清理出问题了,去每个服务下面log查看发现正常,日志量只有几百兆。

    于是使用du找下大文件,于是在根目录下,看下各个目录的磁盘占用情况。

    du -sh /

    出来的结果是一共使用了6G多,没有一个目录有大文件的。

     这就很奇怪了,查看剩余空间和已用空间数据对不上,还相差40多个G。

    于是,百度了下,原来有的文件可能删除了,但是并没有被释放,就像进入回收站一样,于是用lsof命令查看那些删除了但是还打开着文件句柄的文件,并按照大小顺序排列。

    lsof | grep deleted | sort -nr

    结果发现有一个java日志文件,有40多G,状态为删除,但是文件句柄仍然被打开了。还在不停的写入数据,

    于是群里面找到开发,让帮忙重启服务,再df -h,空间瞬间空闲了40多个G。

    运维
  • 相关阅读:
    POJ 1001 Exponentiation
    POJ 2105 IP Address
    条款1:视C++为一个语言联邦
    条款2:尽量使用const ,enum,inline替换define
    走台阶问题
    Oracle之分页问题
    Oracle之子查询:Top-N问题
    Facade——外观模式
    PROXY——代理模式
    C++ 内联函数
  • 原文地址:https://www.cnblogs.com/jim-xu/p/11441762.html
Copyright © 2020-2023  润新知