zoukankan      html  css  js  c++  java
  • 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。

    运维
  • 相关阅读:
    Eureka的使用
    自定义类加载器
    继承
    Active Objects模式
    Future设计模式
    mysql备份与还原
    多生产者多消费者(第一种方式),基于synchronized,wait,notifyAll
    自己实现阻塞队列(基于数组)
    linux定时任务每隔5分钟向文本追加一行
    自己实现CountDownLatch
  • 原文地址:https://www.cnblogs.com/jim-xu/p/11441762.html
Copyright © 2011-2022 走看看