运维 | 清理 Linux 磁盘空间方法汇总
清理 Linux 磁盘空间方法汇总
前言
系统磁盘不够用或占满了,导致部分应用或程序无法正常使用。
本章节将记录一些常用或常见的方法清理系统磁盘(持续更新中)。
常见操作
查看磁盘使用情况
cd /
df -Th
查找大文件和目录(根目录)
du -sh /*
按照文件夹大小排序,查找该目录下前 10 的文件夹
du -h /var | sort -rh | head -n 10
使用实例
清理系统日志
- 检查日志文件大小
在 Linux 系统中,日志文件可能会非常大,占用大量磁盘空间。您可以使用 ls 命令和 grep 命令来查看日志文件的大小并找出最大的几个文件。
例如,使用以下命令列出 /var/log 目录下最大的 10 个文件:
ls -lSr /var/log | grep ^- | tail | awk '{print $5, $9}'
- 清空系统日志
将旧的系统日志归档并开始记录新的日志
journalctl --rotate
将清除早于 1 秒钟的日志条目
journalctl --vacuum-time=1s
- 手动清理日志文件
find /var/log/ -type f -name "*.log" -delete
find /var/lib/docker/containers/ -type f -name "*.log" -delete
- 清空已打开的日志文件
在某些情况下,已打开并写入的日志文件可能无法直接删除。在这种情况下,您可以使用以下命令将文件截断为零大小,并释放由该文件占用的磁盘空间:
sh -c 'truncate -s 0 /var/log/'
其中,是要截断的日志文件名。例如,清空 syslog 文件的命令如下:
sh -c 'truncate -s 0 /var/log/syslog'
删除临时文件和目录(需谨慎)
rm -rf /tmp/*
rm -rf /var/tmp/*
清理缓存
sync && sysctl -w vm.drop_caches=3
该命令将使 Linux 内核释放所有未使用的缓存页,并回收未使用的内存。请注意,这会导致系统性能下降,因为它会强制 Linux 重新加载从磁盘读取的文件。
删除不使用的软件包
sudo yum autoremove
apt-get autoremove
这将删除您已卸载但未自动删除的软件包。
删除无用的内核
package-cleanup --oldkernels
删除未使用的依赖项
package-cleanup --leaves
清理错误的 yum 缓存
yum clean all
清除 APT 缓存
apt-get clean
apt-get autoclean
删除旧的备份文件
find /path/to/backup/folder -type f -mtime +30 -delete
该命令将删除早于 30 天的所有备份文件。您可以根据需要更改 -mtime 选项的值来调整备份保留时间
清理 docker
- 删除未使用的镜像
docker image prune
这个命令将删除未被任何容器使用的所有镜像。如果您想删除特定的镜像,请使用 docker rmi 命令。
- 删除未运行的容器
docker container prune
这个命令将删除未在运行中的所有容器。如果您想删除特定的容器,请使用 docker rm 命令。
- 删除未使用的卷
docker volume prune
这个命令将删除未被任何容器使用的所有卷。如果您想删除特定的卷,请使用 docker volume rm 命令。
FAQ
Linux –bash 无法为立即文档创建临时空间设备上没有空间
- 问题描述
Linux:–bash 无法为立即文档创建临时空间:设备上没有空间
一般遇到这种情况就是磁盘占用满了;如果是日常运行服务的话,基本都是日志未定期清除占满了磁盘。
- 解决方法
清理常规冗余文件
- 回到根目录
cd /
- 查看磁盘使用情况
df -Th
可以发现 / 根目录已经占满了
- 查看当前文件夹下面各个文件或则文件夹大小
du –max-depth=1 -h
查找占用空间大的文件或文件夹,进行合理的清理就行
清理 Docker 运行日志文件
在使用 docker 时,往往会出现磁盘空间不足,导致该问题的通常原因是因为 docker 中部署的系统输出了大量的日志内容
- 查看磁盘使用情况
df -Th
- 进入 docker 目录,并查看目录下文件大小
cd /var/lib/docker/
du -sh *
- 查找空间占用很高的目录,进入并清理日志文件
cd /var/lib/docker/containers/3571685f01a6d592c9a9f4fc0fb9bc571f945bcd0299c82dd8f0d79ef11eeb32cat /dev/null > *-json.log
过滤出大小达到 G 的文件夹名:
du -sh ./* | grep G | awk '{print $2}'
- 快速处理
要查看 Docker 日志的大小,请运行以下命令:
du -hs /var/lib/docker/containers/*/*-json.log
这个命令将显示每个容器的日志大小,并将其按递增的顺序列出。用户可以从中找到 Docker 容器日志的大小,并确定是否需要进行操作
使用以下命令删除不需要的日志文件:
find /var/lib/docker/containers/ -name "*-json.log" | xargs rm -f
参考文献
相关文章:
运维 | 清理 Linux 磁盘空间方法汇总
清理 Linux 磁盘空间方法汇总 前言 系统磁盘不够用或占满了,导致部分应用或程序无法正常使用。 本章节将记录一些常用或常见的方法清理系统磁盘(持续更新中)。 常见操作 查看磁盘使用情况 cd / df -Th查找大文件和目录(根目…...
googleTest 源码主线框架性分析——TDD 01
TDD,测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推…...
Python:对常见报错导致的崩溃的处理
Python的注释: mac用cmd/即可 # 注释内容 代码正常运行会报以0退出,如果是1,则表示代码崩溃 age int(input(Age: )) print(age) 如果输入非数字,程序会崩溃,也就是破坏了程序,终止运行 解决方案…...
linux系统进程占cpu 100%解决步骤
1.查找进程 ps aux 查看指定进程: ps aux | grep process_name2.根据进程查找对应的主进程 pstree -p | grep process_name 3.查看主进程目录并删除 ps -axu | grep process_name rm -rf /usr/bin/2cbbb...
数据传输安全--IPSEC
目录 IPSEC IPSEC可以提供的安全服务 IPSEC 协议簇 两种工作模式 传输模式 隧道模式 两个通信保护协议(两个安全协议) AH(鉴别头协议) 可以提供的安全服务 报头 安全索引参数SPI 序列号 认证数据 AH保护范围 传输模…...
Unity XR Interaction Toolkit的安装(二)
提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、安装1.打开unity项目2.打开包管理器(PackageManage)3.导入Input System依赖包4.Interaction Layers unity设置总结 前言 安装前请注意:需要…...
什么是PCB流锡槽焊盘/C型焊盘,如何设计?-捷配笔记
在PCB进行机器组装器件时(如波峰焊),为了防止部分需要二次焊接的元器件的焊盘堵孔,就需要在PCB焊盘上面开个过锡槽,以便过波峰焊时,这些焊锡会流掉。开流锡槽就是在焊盘裸铜(敷锡)部…...
电缆故障精准定位系统
简介 电缆故障精准定位系统应用于35~500kV电压等级电缆线路故障精准定位与故障识别。基于百兆高速采样、北斗高精度授时、信号相位误差精确校准等 先进技术的应用,其定位精度小于5米,业内领先。 基于人工智能深度学习算法核心模块可自动、 快速进行故障…...
Google Chrome 浏览器在链接上点右键的快捷键
如今,越来越多的软件都懒得设个快捷键,就算设置了连个下划线也懒得加了。 谷歌浏览器右键 > 链接另存为... 和 复制链接地址 的快捷键 (如图)...
Redis在SpringBoot中遇到的问题:预热,雪崩,击穿,穿透
缓存预热 预热即在产品上线前,先对产品进行访问或者对产品的Redis中存储数据。 原因: 1. 请求数量较高 2. 主从之间数据吞吐量较大,数据同步操作频度较高,因为刚刚启动时,缓存中没有任何数据 解决方法: 1. 使用脚…...
Pytorch 6
罗切斯特回归模型 加了激活函数 加了激活函数之后类 class LogisticRegressionModel(torch.nn.Module):def __init__(self):super(LogisticRegressionModel, self).__init__()self.linear torch.nn.Linear(1,1)def forward(self, x):# y_pred F.sigmoid(self.linear(x))y_p…...
iterator(迭代器模式)
引入 在想显示数组当中所有元素时,我们往往会使用下面的for循环语句来遍历数组 #include <iostream> #include <vector>int main() {std::vector<int> v({ 1, 2, 3 });for (int i 0; i < v.size(); i){std::cout << v[i] << &q…...
使用Web控制端和轻量级客户端构建的开放Web应用防火墙(OpenWAF)
目录 1. 简介2. 项目结构3. Web控制端3.1. 功能概述3.2. 审计(攻击)日志查看3.3. 多个WAF的集中监控和操作3.4. 使用socket进行封装3.5. 日志的高效存储和检索(Redis) 4. 轻量级客户端4.1. 功能概述4.2. 对Web程序的防护4.3. 网络…...
设计模式在FileBrowser中的几个应用
设计模式是代码重构的最终目标,在程序设计中有效的运用这项技术,可以大大提高代码的可读性和可维护性。使整个程序设计结构趋向精致完美。在我维护的FileBrowser模块中可以针对以下方面 应用相应的模式。 1. 使用策略模式来处理文件夹扫描操作 作为网…...
【JavaEE进阶】——Spring AOP
目录 🚩Spring AOP概述 🚩Spring AOP快速⼊⻔ 🎓引入AOP依赖 🎓编写AOP程序 🚩Spring AOP 详解 🎓Spring AOP核⼼概念 🎓通知类型 🎓PointCut 🎓切⾯优先级 Ord…...
Python - conda使用大全
如何使用Conda? 环境 创建环境 conda create -n spider_env python3.10.11查看环境 conda env listconda info -e激活环境 conda activate spider_env退出环境 conda deactivate删除环境 conda env remove -n spider_env包 导出包 说明:导出当前虚拟…...
ASPICE在汽车软件开发中的作用
ASPICE是一个专门为汽车软件开发过程而设计的评估和改进框架。它基于ISO/IEC 15504标准,为汽车供应商提供了一个评估和改进其软件开发流程的方法。ASPICE的目标是确保软件开发过程的一致性和可预测性,从而提高软件的质量和可靠性。 ASPICE的实施对汽车软…...
亚马逊云科技 re:Inforce 2024中国站大会
亚马逊云科技 re:Inforce 2024中国站大会 - 生成式AI时代的全面安全,将于7月25日本周四在北京富力万丽酒店揭幕...
Lottie:动态动画的魔法棒
文章目录 引言官网链接Lottie 的原理基础使用1. 导出动画2. 引入 Lottie 库3. 加载和播放动画 高级使用1. 动画控制2. 交互性3. 自定义动画例子:交互式按钮动画 优缺点优点缺点 结语 引言 Lottie 是 Airbnb 开源的一个动画库,它允许设计师在 Adobe Afte…...
IPython使用技巧整理
IPython 是一个增强的 Python 交互式 shell,它提供了许多便利的功能,比如自动补全、魔术命令、对象内省等。以下是 IPython 的一些使用技巧和示例,结合您提供的列表数据,我将给出一些相关的使用示例。 1. 自动补全(Tab…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
