1.查看系统磁盘空间是否已满:df -h (详细看df命令)
2.切换到root用户:sudo su
3.从root用户切到别的用户: sudo -su tomcat
4.性能查看:top,iotop,iostat,free,vmstat,lsof
5.使用top后,看到cpu高的线程,然后使用:lsof -p 8529(线程pid) 查看打开的文件
6.查看目录下文件/文件夹的大小:
du -sm tomcat8080/* |sort -nr|head -20 (查看tomcat8080文件夹下的一级目录的大小,以MB显示,然后从大到小排序后显示前20)
7.找到占磁盘大的文件,删掉。这时候文件如果被打开,使用df -h查看到还是未释放,而使用du -h命令发现文件已删除释放磁盘空间。所以,我们最好是先杀线程然后再删文件。kill -9 线程pid
8.一般删除都是日志文件,有些日志文件达几百MB。
9.日志文件太大,需要归档和打包:
tar -czvf catalina00.tgz catalina.out
10.创建一个定时任务,每天打包日志文件。
crontab -e 编辑定时任务(每天早7点执行):
00 07 * * * /tomcat/logs/Time4TarLogs.sh
11.创建定时脚本:切换目录到logs下,创建文件 touch Time4TarLogs.sh
12.编辑脚本文件:vim Time4TarLogs.sh 然后按 i 编辑
脚本的内容如下:
#!/bin/bash
date =`date +"%Y%m%d"`
cd /tomcat/logs/
tar -czvf catalina_$date.tgz catalina.out
echo "" >catalina.out
13.给脚本授权:chmod 777 Time4TarLogs.sh