热门系列:
-
【Linux系列】Linux实践(一):linux常用命令
-
【Linux系列】Linux实践(二):CentOS系统中搭建java开发环境与部署web项目
-
【Linux系列】Linux实践(三):CentOS中安装(卸载)Mysql以及数据库的导入导出
-
【Linux系列】Linux之CentOS操作系统日常问题(一):connect:network is unreachable
-
程序人生,精彩抢先看
1.问题
如题,相信在linux系统上部署tomcat项目的筒子都知道,当项目部署上去后,运行一段时间就会发现tomcat的logs里的catalina.out特别占内存。就比如我刚部署上去的项目,才运行一会,内存已如下图:
可以看到,这个catalina.out已经占了1G多内存,久而久之,如果不对其处理,很快虚拟机的空间就会爆满。
2.方法
解决办法:
咱们可以在在/etc/logrotate.d/目录下新建一个名为tomcat的文件,然后加入以下内容:
/usr/local/apache-tomcat-8.0.28/logs/catalina.out{ # 要轮转的文件
copytruncate # 创建新的catalina.out副本后,截断源catalina.out文件
daily # 每天进行catalina.out文件的轮转
rotate 7 # 至多保留7个副本
missingok # 如果要轮转的文件丢失了,继续轮转而不报错
compress # 使用压缩的方式(非常有用,节省硬盘空间;一个2~3GB的日志文件可以压缩成60MB左右)
size 16M # 当catalina.out文件大于16MB时,就轮转
}
以上内容,如果你的虚拟机不会停止运行,那么该文件会自动执行。
当然我们也可以自己手动执行,输入以下命令:
logrotate --force /etc/logrotate.d/tomcat
可以看到之前的占内存大的catalina.out已经被轮转生成新的副本。
本博客皆为学习、分享、探讨为本,欢迎各位朋友评论、点赞、收藏、关注,一起加油!