Linux磁盘空间占用率100%的排查方法
更新时间:2024年02月04日 08:51:52 作者:放风讲故事
使用 Linux 操作系统时,可能会遇到磁盘空间不足的错误,这种错误通常会导致系统运行缓慢或崩溃,本文将介绍磁盘排查的方法,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
目录
- 系统硬盘或云盘不够
- 查看磁盘占用
- linux中的文件占用情况
- docker容器日志占用清理
- 最后
系统硬盘或云盘不够
这里以默认使用的是40G磁盘空间的云服务器为例子
查看磁盘占用
`df -h`
结果显示多条如下数据,这里最关键的指标就是使用百分比,这个值较高一般需要处理,或者明确知道自己项目或工作目录是哪个,就只要找对应的位置去处理即可。
可以看到docker容器占用过高,overlay 40G 40 0 100% /var/lib/docker/overlay2/{id}/merged
通过df -h
找文件时,可能有通过-v
进行了挂载数据目录的,里面的数据可根据相应的挂载目录
找到对应的容器进行清理或设置;也可能有出现许多容器产生的未通过-v
挂载的目录/var/lib/docker/overlay2/{id}/merged
容器占用,包括日志占用和数据占用
容器是基于镜像打包好的一个可运行的系统。当我们在创建一个容器的时候下面两个目录就会出现数据
容器的日志占用
/var/lib/docker/containers/ID 目录所有日志都会以JSON形式保存到本机的此目录下。
容器的数据占用
/var/lib/docker/overlay2 【文件系统】基于容器文件系统保存的数据会写到本机的此目录下,
linux中的文件占用情况
查找”/”目录下所有大于100M的所有文件
`find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr # 查找"/"目录下所有大于100M的所有文件`
/var/lib/docker/containers/{container_id}/
下存在数据较大的*-json.log
日志文件,docker容器运行的标准输入日志
。项目中已使用-v
的方式挂载项目输出日志文件,因此对容器运行日志没有了需求。可以进行清理
docker容器日志占用清理
清理docker日志
echo '' > /var/lib/docker/containers/容器id/容器id-json.log
清理完日志后磁盘空间占用36%
在运行容器时进行限制
`docker run ...... --log-opt max-size=10m --log-opt max-file=1`
发现在运行容器的时候可以对标准输入日志大小
与数量
进行限制,以减少日志文件对存储空间的占用,以下配置分别为日志文件最大容量、最大日志文件数。
max-size 最大数值 , max-file 最大日志数,但一两个容器还好,但是如果有很多容器需要管理,这样就很不方便了,最好还是可以统一管理(全局修改)
全局修改
在docker的配置文件中进行全局修改:创建或修改文件 /etc/docker/daemon.json,并增加以下配置
{ "log-opts": { "max-size": "10m", "max-file": "1" } }
解决上面提到的问题(overlay2 占用磁盘过大不释放)
继续增加以下配置
{ "log-opts": { "max-size": "10m", "max-file": "1" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=1" ] }
最后重启docker
systemctl stop docker systemctl start docker
最后
到此这篇关于Linux磁盘空间占用率100%的排查方法的文章就介绍到这了,更多相关Linux磁盘排查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- linux查看磁盘空间的命令详解
- linux服务器磁盘空间扩充方法
- Linux磁盘空间释放问题整理
- linux命令查看磁盘空间的方法
- Linux系统扩容根目录磁盘空间的操作方法
- linux 查看磁盘空间大小命令
- Linux
- 磁盘空间
- 占用
- 排查
相关文章
-
LAMP服务器性能优化技巧之Apache服务器优化
目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧 2012-02-02
-
Linux中Oracle服务启动和停止脚本与开机自启动
这篇文章主要介绍了Linux中Oracle服务启动和停止脚本与开机自启动,有兴趣的同学可以一起来了解一下。 2016-12-12
-
Linux多线程锁属性设置方法
下面小编就为大家带来一篇Linux多线程锁属性设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-01-01
-
Apache支持 shtml和include文件解析
这篇文章主要介绍了Apache支持 shtml和include文件解析的相关资料,需要的朋友可以参考下 2015-07-07
-
RHCE桥接,免密登录和修改端口号介绍
大家好,本篇文章主要讲的是RHCE桥接,免密登录和修改端口号介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览 2021-12-12
-
CentOS7.2安装MySql5.7并开启远程连接授权的教程
这篇文章主要介绍了CentOS7.2安装MySql5.7并开启远程连接授权的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下 2019-07-07
-
详解Linux防火墙iptables禁IP与解封IP常用命令
这篇文章主要介绍了详解Linux防火墙iptables禁IP与解封IP常用命令,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2018-03-03
-
windows apache环境下部署SSL证书让网站支持https的配置方法
由于网站劫持与chrome浏览器默认不用https的提示网站不安全的原因,今天把SSL证书部署分享一下,希望能帮到大家 2020-09-09
-
linux memcache安装配置方法
这篇文章主要介绍了linux memcache安装配置方法,需要的朋友可以参考下 2014-07-07
-
Linux内存泄漏检测shell脚本
这篇文章主要为大家详细介绍了Linux内存泄漏检测shell脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-06-06