阅读量:3
文章目录
一、现象
在监控服务器性能的时候,发现服务器的磁盘占用很大,几乎快要爆满,具体的表现可能如下:
1、应用服务访问卡顿甚至失败;
2、数据库访问失败;
3、文件上传失败 等等
通过命令 df -h 查看磁盘占用情况,发现如下:
这里的占用是清除过的,所以并不算特别高。
二、现象产生的原因
这种现象的产生,甚至报错信息都是很明显的,就是磁盘占用过高,产生的原因可能如下:
1、业务文件存放位置不对,放在了系统盘中,也就是/dev/mapper/centos-root下,导致大量的业务文件占用了系统盘;
2、本身磁盘空间太小了,这种情况是需要进行扩容处理;
3、系统本身产生的缓存文件或者其他容器产生的一些文件导致的占用等
三、问题的定位过程
1.检查业务文件存放位置是否合理
只要业务文件大量的占用了系统盘的内存位置,那么文件必须进行迁移以及代码中设置的存放位置都是需要修改的。具体自行检查,即可。
2.检查服务器系统盘空间是否分配过小
如果分配的系统磁盘空间过小,则可以采取扩容的措施。
3.对服务器磁盘占用情况进行分析
1、进入系统盘后,输入命令du -h -x --max-depth=1,查看每个目录的占用情况
2、依次按照磁盘占用大小,重复以上命令,找到具体的文件位置。
3、如果该文件是会一直产生,且可以删除的,采取的方案可以如下:
(1):对该文件的产生的位置进行修改;
(2):采取定时任务的方式对某一个位置下的文件夹或者文件进行删除。
4.若以上方案都解决不了内存占用过高问题,则考虑是否是服务器中存在其他容器产生了一些文件,比如:docker。
若是因为容器问题,则要考虑是否存在无用的容器,容器的安装位置,容器的下载文件的位置,以及容器内部产生的日志的位置是否需要进行修改或者采取定时任务的方式清除掉无用的日志文件等。
总结
以上,就是对在Linux服务器中磁盘空间爆满问题的思考以及解决方案,不足之处,欢迎大家一起探讨!