zoukankan      html  css  js  c++  java
  • Linux 误删catlina.out导致磁盘空间爆满,无法查询到大文件解决办法

      大概是前俩天吧,发现公司的网站不定时的出现接口调不通的情况,便让手下小弟去服务器上查看一下,小弟告我磁盘空间满了,于是我让他处理一下。结果没想到他直接把 catlina.out 给干掉了。后果可想而知,磁盘空间还是一直是100%,无法使用,他还一脸蒙蔽。大概情况就是这样,下面说一下我解决的过程。

      因为catlina.out 是tomcat 的输出日志,只要运行就会有日志输出,所有不能直接删除,要去清空。即当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。如果误删,按以下方法就可解决,亲测有效。

    1. 首先重启tomcat ,会在log 目录下重新生成 catlina.out 文件 

    2. 使用  lsof -n | grep deleted  查看被删除的记录,查出结果按以下排列

    COMMAND  PID  USER   FD  TYPE   DEVICE SIZE/OFF  NODE NAME

    第二列为进程 pid

    3. 杀掉这个被删除掉的 catlina.out 的进程,使用

     kill -9 pid (你的进程号)
    

    4. 查看磁盘空间是否恢复,一般到这一步就会解决

     df -hl
    

    5. 如果没有恢复,就看具体哪个占了内存,cd 到目录下,使用

     du -sh *

    然后删掉即可!

    再说点题外话,catlina.out 的清空方法:

    true > catlina.out
    

      

  • 相关阅读:
    poj1988
    sgu488
    Walking around Berhattan
    基于矩阵分解的简单推荐算法
    Funny Feature
    php面向对象
    PHPstorm快捷键
    创建UIImage的两种方法
    dismissViewControllerAnimated有延迟
    17个常用代码整理
  • 原文地址:https://www.cnblogs.com/tg666/p/11410845.html
Copyright © 2011-2022 走看看