Linux 磁盘空间占用率100%的排查

📑前言

使用 Linux 操作系统时,可能会遇到磁盘空间不足的错误,这种错误通常会导致系统运行缓慢或崩溃。本文将介绍磁盘排查的方法。⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点

目录

文章目录

  • 📑前言
  • **目录**
    • 系统硬盘或云盘不够
    • 查看磁盘占用
    • 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

📑文章末尾

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/664443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust gui开发框架选择

作为一个系统编程强大语言,怎么能少得了图形界面的开发 实际上写这篇前我也不知道,于是我问了ai大模型,文心3.5和chatgpt4.0 答案实际上不能满意,最后我做了下筛选 参考博文: rust开发环境配置:链接 一、…

使用websocket建立长链接实现用户点对点即时通讯

WebSocket是一种网络传输协议,位于OSI模型的应用层,设计用于在单个TCP连接上进行全双工通信。 WebSocket的主要特点包括: 全双工通信:WebSocket允许服务器和客户端之间进行双向实时通信。这与传统的HTTP请求不同,后者…

MacOS安装JDK+Maven+Idea插件+nvm等

Java安装环境(MacOS)JDKMavenIdea插件nvm等 背景:新机安装开发环境发现需要找很多文章,,,,这里一篇文章安装所有环境 文章目录 Java安装环境(MacOS)JDKMavenIdea插件nvm等一、安装JDK①:下载②:…

阿里云a10GPU,centos7,cuda11.2环境配置

Anaconda3-2022.05-Linux-x86_64.sh gcc升级 centos7升级gcc至8.2_centos7 yum gcc8.2.0-CSDN博客 paddlepaddle python -m pip install paddlepaddle-gpu2.5.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 报错 ImportError: libssl.so…

C++ pair+map+set+multimap+multiset+AVL树+红黑树(深度剖析)

文章目录 1. 前言2. 关联式容器3. pair——键值对4. 树形结构的关联式容器4.1 set4.1.1 set 的介绍4.1.2 set 的使用 4.2 map4.2.1 map 的介绍4.2.2 map 的使用 4.3 multiset4.3.1 multiset 的介绍4.3.2 multiset 的使用 4.4 multimap4.4.1 multimap 的介绍4.4.2 multimap 的使…

Latex学习记录

目录 1.Latex各种箭头符号总结 2.[Latex]公式编辑,编号、对齐 3.Latex公式编号: 多行公式多编号,多行公式单编号 4.LaTex中输入空格以及换行 1.Latex各种箭头符号总结 箭头符号 - ➚ (piliapp.com)https://cn.piliapp.com/symbol/arrow/Latex各种箭头…

Windows巧用Git实现笔记自动备份

随着数字时代的来临,数据安全和备份变得尤为重要。特别是对于经常写笔记或需要整理资料的人来说,如何自动备份这些宝贵的信息成为了一个关键问题。今天,我们将探讨如何使用Git在Windows上实现笔记的自动备份。 一、Git简介 Git是一个分布式…

Flutter 开发3:创建第一个Flutter应用

Step 1: 安装Flutter 1.1 下载Flutter SDK 首先,你需要访问Flutter官方网站下载最新的Flutter SDK。选择适合你操作系统的安装包。 $ cd ~/development $ unzip ~/Downloads/flutter_macos_2.2.3-stable.zip1.2 更新环境变量 接下来,你需要将Flutter…

Spring设计模式之单例模式

文章目录 一、概述二、单例模式的优点三、Spring中的单例模式四、单例模式的实现方式五、总结 一、概述 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来获取该实例。在Spring框架中,单例模式是默认的Bean定义…

网络异常案例四_IP异常

问题现象 终端设备离线,现场根据设备ip,ping不通。查看路由器。 同一个路由器显示的终端设备(走同一个wifi模块接入),包含不同网段的ip。 现场是基于三层的无线漫游,多个路由器wifi配置了相同的ssid信息&a…

springBoot静态资源文件夹以及文件夹之间的优先级

1、springBoot静态资源文件夹,系统默认路径,优先级由大到小 classpath:/META-INF/resources/ classpath:/resources/ classpath:/static/ classpath:/public/ 比如当static文件夹中和public文件夹中都存在a.html 浏览器访问localhost:8080/a.html将访问…

ref和reactive

看尤雨溪说:为什么Vue3 中应该使用 Ref 而不是 Reactive?

C的文件操作

1.栈区上的空间运行效率很高 堆区分配的空间一般由程序员主动释放 静态区的话程序运行结束后由系统释放 2.根据数据的组织形式,数据文件被称为文本文件或者二进制文件 数据在内存中以二进制的形式存储,如果不加转换的输出到外存的文件中,…

pintia6-2符号函数 6-1两点距离

pintia的函数题,只需要把函数写上去就可以了,6-2函数题比较简单,三个if就可以解决: 6-1则套用数学公式即可,注意把函数名复制粘贴过去,以免抄错

2024年华为OD机试真题-虚拟游戏理财-Java-OD统一考试(C卷)

题目描述: 在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。现有一家Bank,它提供有若干理财产品m,风险及投资回报不同,你有N(元)进行投资,能接受的总风险值为X。 你要在可接受范围内选择最优的投资方式获得最大回报。 说明: 在虚拟游戏中…

安装 kvm Qemu rocky8 linux

在基于 Red Hat 的 Linux 发行版(如 CentOS 或 Rocky Linux)上安装 KVM(Kernel-based Virtual Machine),您需要遵循以下步骤: 检查 CPU 虚拟化支持: 确保您的 CPU 支持硬件虚拟化。您可以通过运…

网络加速工具

注册之后, 下载软件, 可免费试用4小时. 亲测可用, 网速还是很不错的 点击以下官网地址进行注册 https://tgjkdjfk.top/a.php?alavBTtF8UWAySC 或者 https://doveee.com/aff.php?alavBTtF8UWAySC 注册登录之后的个人中心 电脑端安装之后的界面如下 电脑端(macOS Windows)和手…

C#解决在Winform中绘图异常闪烁问题

1,问题描述: 在winform中使用Graphics进行绘图,绘图效果却呈现异常闪烁。 2,解决办法: 使用 SetStyle() 设置相应特性: SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦…

Redis常用数据类型--Hash

Hash 常用命令HSETHGETHEXISTSHDELHKEYS/HVALSHGETALLHMGETHLENHSETNXHINCRBY/HINCRBYFLOAT 内部编码典型应用场景 常用命令 HSET 设置 hash 中指定的字段(field)的值(value) HSET key field value [field value ...]时间复杂度…

Django的web框架Django Rest_Framework精讲(二)

文章目录 1.自定义校验功能(1)validators(2)局部钩子:单字段校验(3)全局钩子:多字段校验 2.raise_exception 参数3.context参数4.反序列化校验后保存,新增和更新数据&…