今早正在愉快地使用Flutter开发客户端的时候,突然发现所有接口都使用不了了,觉得很奇怪,服务器上什么都没有动怎么突然不行了呢?
于是登录CentOS服务器查看Spring Boot服务的日志,发现了以下异常:
1 | org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is java.lang.IllegalStateException: Unable to create the directory [/tmp/tomcat.1964230947136987004.8000] to use as the base directory |
哦,原来是Tomcat无法创建它的临时工作目录了。
于是就执行
1 | df -h |
查了一下服务器的硬盘信息:
1 | Filesystem Size Used Avail Use% Mounted on |
果然!根目录下使用率100%,硬盘被占满了!这是个严重的问题,不过该怎么排查哪些文件占用的空间呢?查了一番资料,发现使用下面命令可以一层层的跟踪排查:
1 | du -x -m --max-depth 1 / |
先从根目录开始:
1 | [root@cscc log]# du -x -h -m --max-depth 1 / |
OK,发现/var目录占用最多,于是就怀疑是日志文件的问题,因为系统日志都在/var目录下。接着进入/var/log目录,执行命令确定一下:
1 | ll -h |
果然,全部都是日志文件占用的空间:
1 | -rw------- 1 root root 6.8G Oct 10 11:22 messages |
也可以执行命令查看目录所占的空间:
1 | du -sh * |
服务器一共就100G的存储空间,却被这些日志文件占去了一大半,查看了一下内容,发现大部分都是服务器上的定时任务的信息,因为定时任务非常频繁,而且打印的信息量比较大,看着这块要优化一下了。
先把这些日志删除一下,保证服务正常:
1 | rm messages* |
删除后,启动服务器,一切终于正常了!
本文原创地址为:https://www.examplecode.cn/2019/10/10/centos-disk-usage-100/
转载请注明出处。