当前位置: 首页 > news >正文

磁盘空间不足|如何安全清理以释放磁盘空间(开源+节流)

背景:

最近往数据库里存的东西有点多,磁盘不够用

查看磁盘使用情况

df -h

/dev/sda5(根目录 / 已使用 92%

咱们来开源节流

目录

背景:

一、开源

二、节流

1.查找 大于 500MB 的文件:

1. Snap 缓存文件

2. 旧的 MySQL 日志和临时文件

3. 旧的下载文件

4. Ubuntu ISO 文件

⚠️ 不要删除的文件

2. 清理无用的 udev 规则

3. 清理 journalctl 日志

4. 清理 APT 缓存

5. 清理 Snap 旧版本

6. 释放缓存


一、开源

先虚拟机关机(我的这个只是演示,后台还在运行命令暂时管不了)

在设置里面调节磁盘大小

点碎片整理

还有选择扩展磁盘容量

之后的事就交给另一个博主吧,我不想当复读机

【2023年全新保姆级教程】解决Ubuntu文件系统磁盘空间不足low disk space on filesystem root-CSDN博客

二、节流

1.查找 大于 500MB 的文件:

sudo find / -type f -size +500M -exec ls -lh {} \;

以下是可以 安全删除 的文件:


1. Snap 缓存文件

这些是 Snap 的安装包缓存,删除后不会影响已安装的应用

sudo rm -rf /var/lib/snapd/cache/*
sudo rm -rf /var/lib/snapd/snaps/gnome-42-2204_202.snap
sudo rm -rf /var/lib/snapd/snaps/gnome-42-2204_176.snap

2. 旧的 MySQL 日志和临时文件

这些是 MySQL 生成的临时文件、日志文件

sudo systemctl stop mysql  # 先停止 MySQL
sudo rm -rf /data/mysql/binlog.000056
sudo rm -rf /data/mysql/undo_002
sudo rm -rf /data/mysql/#innodb_temp/temp_10.ibt
sudo systemctl start mysql  # 清理后重新启动 MySQL

3. 旧的下载文件

我的 /home/admin123/下载/ 目录下有 3.5G 的 CSV 文件 和 906M 的 ZIP 文件

rm -rf "/home/admin123/下载/userBehavior.csv"
rm -rf "/home/admin123/.cache/vmware/drag_and_drop/XStE2o/UserBehavior.csv.zip"

4. Ubuntu ISO 文件

你的 /media/admin123/Ubuntu 20.04.2.0 LTS amd64/casper/filesystem.squashfs2.0G,如果不再需要 Ubuntu 安装盘,可以卸载并删除:

sudo umount /media/admin123/Ubuntu*
sudo rm -rf "/media/admin123/Ubuntu 20.04.2.0 LTS amd64/casper/filesystem.squashfs"


⚠️ 不要删除的文件

以下文件虽然很大,但 不能删除

  • /usr/local/mysql/bin/mysqld(MySQL 的主程序)
  • /proc/kcore(虚拟内存映射,不占真实磁盘空间)

可安全删除的文件和命令

# 1. 清理 Snap 缓存
sudo rm -rf /var/lib/snapd/cache/*
sudo rm -rf /var/lib/snapd/snaps/gnome-42-2204_*.snap# 2. 清理 MySQL 日志和临时文件
sudo systemctl stop mysql
sudo rm -rf /data/mysql/binlog.000056 /data/mysql/undo_002 /data/mysql/#innodb_temp/temp_10.ibt
sudo systemctl start mysql# 3. 删除旧的下载文件
rm -rf "/home/admin123/下载/userBehavior.csv"
rm -rf "/home/admin123/.cache/vmware/drag_and_drop/XStE2o/UserBehavior.csv.zip"# 4. 删除 Ubuntu ISO
sudo umount /media/admin123/Ubuntu*
sudo rm -rf "/media/admin123/Ubuntu 20.04.2.0 LTS amd64/casper/filesystem.squashfs"


2. 清理无用的 udev 规则

udev 主要用于管理设备,通常不会占用大量空间。但如果你想清理无用的 udev 规则,可以执行:

sudo udevadm control --reload-rules
sudo udevadm trigger

这将重新加载 udev 规则并应用更改

如果udev 产生了大量日志,可以检查日志:

journalctl -u systemd-udevd --no-pager --since "1 day ago"

如果 udev 日志过多,可以清理:

sudo journalctl --vacuum-size=100M

将日志大小限制为 100MB


3. 清理 journalctl 日志

系统日志可能会占用大量空间,可以检查日志大小:

journalctl --disk-usage

如果占用过大,可以限制日志大小,比如 500MB:

sudo journalctl --vacuum-size=500M

4. 清理 APT 缓存

如果你的系统安装过大量软件,APT 缓存可能占用较多空间。你可以运行以下命令清理:

sudo apt autoremove -y    # 移除不再需要的软件包
sudo apt autoclean        # 清理旧的安装包
sudo apt clean            # 清理所有缓存的安装包

我的效果如下:


5. 清理 Snap 旧版本

你的系统有很多 Snap 包(/snap/ 目录),它会保留多个旧版本,占用大量空间。你可以运行:

snap list --all  # 查看所有 Snap 包

我的效果如下:

自动清理旧版本:

sudo snap set system refresh.retain=2  # 只保留 2 个版本

然后运行:

sudo snap refresh

6. 释放缓存

释放系统缓存,这不会删除数据,只是释放内存中的缓存

sudo sync && sudo sysctl -w vm.drop_caches=3

或者:

sudo echo 3 > /proc/sys/vm/drop_caches

最终效果

从92%到65%,挺不错的

http://www.lryc.cn/news/546078.html

相关文章:

  • DeepSeek vs Grok vs ChatGPT:大模型三强争霸,谁将引领AI未来?
  • 2025国家护网HVV高频面试题总结来了04(题目+回答)
  • 我的AI工具箱Tauri版-通用音频转文本
  • Vue.js计算属性
  • 品佳诚邀您参加 3/12『英飞凌汽车方案引领智能座舱新纪元』在线研讨会
  • 科普|无人机专业术语
  • Tauri跨平台开发问题及解决方案深度解析(React版)
  • 基于单片机和Wifi技术的智能台灯设计
  • ds回答-开源llm应用开发平台
  • 【量化策略】均值回归策略
  • iterm2更新后主题报错
  • 深度学习架构Seq2Seq-添加并理解注意力机制(一)
  • Kafka底层结构
  • [BUUCTF]web--wp(持续更新中)
  • axios请求设置request umijopenai生产前端请求 ts状态全局 v-if v-else 与动态js变量
  • SparkSQL全之RDD、DF、DS ,UDF、架构、资源划分、sql执行计划、调优......
  • 深入理解Linux内存缓存:提升性能的关键
  • STM32-FOC-SDK包含以下关键知识点
  • sql调优:优化响应时间(优化sql) ; 优化吞吐量
  • 【Mybatis】如何简单使用mybatis-plus,以及MybatisGenerator自动生成或者实现SQL语句
  • Halcon 车牌识别-超精细教程
  • LeetCode 25 - K 个一组翻转链表
  • 一文读懂智能硬件定位:开启智能时代的精准导航
  • 夸父工具箱(安卓版) 手机超强工具箱
  • Html5学习教程,从入门到精通,HTML5 列表语法知识点及案例代码(11)
  • 内核进程调度队列(linux的真实调度算法) ─── linux第13课
  • 16.7 LangChain LCEL 极简入门:Prompt + LLM 的黄金组合
  • Spring线程池学习笔记
  • ArcGIS操作:08 计算shp面积并添加到属性表
  • 安卓音频框架混音器