原文地址:http://lcbk.net/tomcat/1396.html

我们知道一般企业使用Tomcat 作为Web端时,它产生的日志会越来越大,特别是catalina.out这个日志文件,然而有些人使用rm -rf catalina.out直接删除掉这个文件,所导致的结果就是空间没有得到释放反而越来越大;

今天老蔡发现Tomcat的日志所在的opt分区约占越满,上服务器查看发现磁盘使用空间为100多G,但用du查看实际使用空间不到30G。因此70多G空间是因为删除正在读的文件而导致文件被删除而空间没释放造成的。

用lsof查看如下面所示,见标红行。处理办法:

  1. [root@h3.web.mzone.mdc.139.com /]# /usr/sbin/lsof|grep deleted
  2. php 4223 apache 1w REG 253,0 306483577 22578341 /tmp/status.log (deleted)
  3. php 4223 apache 2w REG 253,0 306483577 22578341 /tmp/status.log (deleted)
  4. php 7136 root 3uW REG 253,0 0 7410877 /var/lib/php/session/sess_vi88skak23129mhai12md342m6 (deleted)
  5. memcacheq 11644 apache 0u CHR 136,1 3 /dev/pts/1 (deleted)
  6. memcacheq 11753 apache 0u CHR 136,1 3 /dev/pts/1 (deleted)
  7. php 13479 apache 1w REG 253,0 75514309287 1051783 /tmp/audit_priority.log (deleted)
  8. php 13479 apache 2w REG 253,0 75514309287 1051783 /tmp/audit_priority.log (deleted)
  9. php 23809 apache 1w REG 253,0 19613 22578349 /tmp/webdisk.log (deleted)
  10. php 23809 apache 2w REG 253,0 19613 22578349 /tmp/webdisk.log (deleted)
  11. php 24935 apache 1w REG 253,0 571 22578598 /tmp/audit_auto_memcached.log (deleted)
  12. php 24935 apache 2w REG 253,0 571 22578598 /tmp/audit_auto_memcached.log (deleted)
  13. memcacheq 26671 apache 0u CHR 136,0 2 /dev/pts/0 (deleted)
  14. memcacheq 26677 apache 0u CHR 136,0 2 /dev/pts/0 (deleted)

1.重启机器或者重启相关服务(http)。

2.删掉进程,具体为:

  1. php 13479 apache 1w REG 253,0 75514309287 1051783 /tmp/audit_priority.log (deleted

)

从 lsof的输出中,可以发现pid为13479 的进程持有着以文件描述号(fd)为 1打开的文件/tmp/audit_priority.log。在我们找到了这个文件之后可以通过结束进程的方式来释放被占用的空间:

  1. kill -9 13479

为了杜绝这个问题,老蔡建议大家可以写个自定义的脚本,对于删除正在写的文件一般用 cat /dev/null > file,而不是直接rm(直接rm会造成文件删除空间不释放的问题)。

转载请务必注明来自»老蔡博客» 作者:老蔡 » 链接:http://lcbk.net/tomcat/1396.html

Tomcat日志catalina.out文件过大的处理方法的更多相关文章

  1. [转载]Linux下tomcat的catalina.out文件过大,以及目录更改解决办法

    原文链接:http://liyan0524.iteye.com/blog/1285644 方法1—分割流 使用cronolog工具切分Tomcat的catalina.out日志文件 cronolog一 ...

  2. 解决catalina.out文件过大的问题

    有用Tomcat的人,绝对都会遇到这样一个问题:catalina.out文件过大. 它是Tomcat默认生成的日志文件,会随着时间的推移,逐渐增大,不断的增长,甚至达到几G,几十G的大小.由于文件过大 ...

  3. CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法

    CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法 sed -n '/2016-11-02 15:00:/,/2016-11-02 15:05:/p' catalina.out > ...

  4. 切分 Tomcat 的 catalina.out 文件,解决日志文件过大的问题

    原文:http://unmi.cc/split-tomcat-catalina-out-file Linux 下使用 cronolog 工具来切分 catalina.out 这里重点介绍这种方法,具体 ...

  5. tomcat生成catalina.out文件

    生成catalina.out方法 导语:本文为Windows下生tomcat将控制台信息输出到catalina.out文件  且 保证能实时查看日志文件的方法. 一.创建catalina.out 1. ...

  6. Apache下error.log文件太大的处理方法

    清除error.log.access.log并限制Apache日志文件大小的方法,在网上搜了下相应的资料,并按照如下步骤做了一遍,网站恢复正常   清除error.log.access.log并限制A ...

  7. 如何处理Tomcat日志catalina.out日志文件过大的问题

    tomcat默认日志文件为catalina.out,随着系统运行时间的增加,该日志文件大小会不断增大,甚至增大到G级.不仅会导致我们无法使用常规工具查找系统问题,而且会影响tomcat性能(比如我在维 ...

  8. sqlserver日志文件过大的处理方法

      SqlServer 数据库中与备份和恢复相关的日志文件有MDF和LDF文件 存在于\\sqlserver_install_dir\MSSQL\Data\1.文件解释.mdf文件    MDF是SQ ...

  9. MongoDB日志文件过大的解决方法

    MongoDB的日志文件在设置 logappend=true 的情况下,会不断向同一日志文件追加的,时间长了,自然变得非常大. 解决如下:(特别注意:启动的时候必须是--logpath指定了log路径 ...

随机推荐

  1. 我用过的linux命令--安装Hadoop

    1. hadoop软件传送给虚拟机 还是利用WinSCP把hadoop软件安装包,放到linux的Downloads文件夹中. 2. 选择安装目录 把hadoop安装包copy到这个安装目录中,这里我 ...

  2. A Byte of Python 笔记(11)异常:try..except、try..finally

    第13章 异常 当你的程序中出现某些 异常的 状况的时候,异常就发生了. 错误 假如我们把 print 误拼为 Print,注意大写,这样 Python 会 引发 一个语法错误. 有一个SyntaxE ...

  3. VS2008一个小bug

    vc工程的项目属性里MFC的使用有三项:默认“使用标准windows库”,修改为“在静态库中使用MFC”,然后再改回默认,项目变化如下: 今天的工程在改过后编译不能通过,手工把0改回2(1改回3)后O ...

  4. Android Animations动画使用详解

    一.动画类型 Android的animation由四种类型组成:alpha.scale.translate.rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画 ...

  5. leetCode解题报告5道题(六)

    题目一: Longest Substring Without Repeating Characters Given a string, find the length of the longest s ...

  6. out/target/common/obj/PACKAGING/public_api.txt android.view.KeyEvent.KEYCODE_has changed value from

    编译出错: out/target/common/obj/PACKAGING/public_api.txt:22549: error 17: Field android.view.KeyEvent.KE ...

  7. ExtJS中form提交之后获取返回的json值

    simpleForm.form.doAction('submit', { url : 'editUserType', method : 'post', params : '', // 提交成功后执行s ...

  8. Javascript debugger come accross error

    Problem: “Unable to attach to the process. Another debugger might be attached to the process.” Solut ...

  9. ubuntu14.04LTS ruby on rails 开发环境

    小弟初学 Ruby,也没用过Linux. 在网上搜了好多关于开发环境的配置的文章,但总是和实际有点出入,找了N遍文章后,终于找到最简环境安装配置方法,分享下 推荐用 Ubuntu,感觉对于习惯用Win ...

  10. pygame初步(一)绘制一个运动的矩形

    <More Python Programming for the Absolute Beginner>一书中的第二章练习3(P33) 使用Python的Pygame库 import sys ...