Centos 云服务器磁盘占用率90%以上的排查解决

850 阅读2分钟

作为不太精通运维的一个普通的Java程序员,维护着十几个项目的Java项目,然后略懂一点点运维,突然有那么一天磁盘占用率92%,然后还在持续上升,然后小编就有点慌,占用满了后就要down机了,对于这个每小时活跃量4W用户的小服务器来讲,也会有很大的慌的....

在这里插入图片描述 ssh 登录服务器 第一步 查看各挂载,linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。

[root@service-1 /]# df -l
文件系统          1K-块     已用     可用 已用% 挂载点
/dev/vda1      51473020 44196756  4638548   91% /
devtmpfs       16380572        0 16380572    0% /dev
tmpfs          16390076        0 16390076    0% /dev/shm
tmpfs          16390076      796 16389280    1% /run
tmpfs          16390076        0 16390076    0% /sys/fs/cgroup
tmpfs           3278016        0  3278016    0% /run/user/0

第二步查看 目录占用情况

[root@service-1 /]# du -h --max-depth=1
0       ./sys
0       ./dev
110M    ./tmp
48M     ./root
21G     ./opt
4.0K    ./media

很显示是我的opt目录占用了大量空间,然后进入到opt目录中,继续查看各目录占用情况

[root@service-1 /]# cd opt
[root@service-1 opt]# ls
learncoal-services  learncoal-services-test  learncoal-webapps  new  prod-tools
[root@service-1 opt]# du -h --max-depth=1
876M    ./learncoal-webapps
428M    ./prod-tools
67M     ./new
462M    ./learncoal-services-test
20G     ./learncoal-services
21G     .

发现是 learncoal-services 目录下占用大,进入 learncoal-services目录中,然后查看各目录文件占用磁盘情况

[root@service-1 opt]# cd learncoal-services
[root@service-1 learncoal-services]# du -sh ./*
4.0K    ./a.sh
12G     ./consoleMsg.log
8.0K    ./data
71M     ./learncoal-service-api-2021-02-23-01.jar
71M     ./learncoal-service-api-2021-02-23-02.jar
71M     ./learncoal-service-api-2021-02-23-03.jar
13M     ./log
4.0K    ./start_info.sh
4.0K    ./start.sh
4.0K    ./start_x.sh
77M     ./toupiao-service-api73.jar
77M     ./toupiao-service-api74.jar
77M     ./toupiao-service-api75.jar
1.2M    ./tplfile

原来 consoleMsg.log 占用了12G,删除了这个日志文件就可以了。 回眸一下,原来是在n多天前小编做了几个测试,Java进程内存泄漏导致的,于是乎查看一下Java进程占用情况

[root@service-1 learncoal-services]# ps -ef|grep java|grep -v grep

在这里插入图片描述 除红线以外的进程全部是泄漏的进程,然后杀掉就可以了

[root@service-1 learncoal-services]# kill 25878
...

整理后 在这里插入图片描述