运维 | 清理 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…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
