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

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

背景:

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

查看磁盘使用情况

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.kler.cn/a/570252.html

相关文章:

  • Pytorch实现之SRGAN+CBAM的结构设计
  • 【Transformer优化】什么是稀疏注意力?
  • 测试工程师Ai应用实战指南简例prompt
  • 软考教材重点内容 信息安全工程师 第18章 网络安全测评技术与标准
  • C语言嵌入式Linux高级编程:程序的编译、链接与运行深度解析
  • vue 和 react 底层采用的 diff 算法的区别
  • [数据结构]用栈实现队列
  • JUC模块
  • 点云 PCA生成包围盒流程
  • 我代表中国受邀在亚马逊云科技全球云计算大会re:Invent中技术演讲
  • 软件工程---净室软件工程
  • 分布式锁—2.Redisson的可重入锁二
  • 【基于RabbitMQ的消息队列服务器模拟实现】
  • pg pg_prewarm用法
  • 《基于Hadoop的青岛市旅游景点游客行为分析系统设计与实现》开题报告
  • nlp第十节——LLM相关
  • Spring Boot整合达梦数据库的适配改造(国产中间件)
  • MAC 本地搭建部署 dify(含 github访问超时+Docker镜像源拉取超时解决方案)
  • OpenCV计算摄影学(10)将一组不同曝光的图像合并成一张高动态范围(HDR)图像的实现类cv::MergeDebevec
  • 《Canvas修仙传·第四重天元婴境(上集)》 ——WebGL虚空造物与Three.js破碎虚空之法