关于linux 磁盘占用排查问题

1.关于磁盘

查看整体磁盘占用大小
df -h  

在这里插入图片描述

2. 先排除mysql 数据大小

查询库的大小

SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;

查询表的大小

SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "<database_name>";

将 <database_name> 替换为您感兴趣的特定数据库名

3.排除容器和docker 镜像大小

docker ps -a --size

docker images -a

4.查询最大的磁盘大小

如我上图所示,我这边查询前10

sudo du -hs /var/lib/docker/overlay2/* | sort -hr | head -n 10

然后这根据这个查到定位到容器

grep -r "00737c105dbeb49cbe25e4f3bcf14c8e6738ecf515026da89e3907e2749bfa83" /var/lib/docker/image/

如图所示,标记红色的框为容器ID,定位该容器是什么,排查问题
在这里插入图片描述
最后,查看该容器ID,是具体哪个容器,查看磁盘挂载情况,也可以进容器看下,是不是没有挂载的磁盘泄露了,例如我这里是图片本地图片忘记挂载了,里面占用了几十个GB磁盘大小

docker inspect [容器ID]
docker exec -it 0c40b0f51eacbd8fc97b12b2bd83b25394a5698349b9201040babd7fe3148f5d /bin/sh

5.可以查找大于100MB的文件,快速定位问题

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

例如我上面发现mysql-binlog 日志有点大
我根据时间倒序排列查询

sudo ls -lht /var/lib/mysql

只保留最近10天 bin-log删掉以前的,这个bin-log 特别占用磁盘,安全删除方式
登录msyql

mysql -uroot -p

在 MySQL 里删除旧的 binlog 文件:

使用 PURGE BINARY LOGS 命令删除旧的 binlog 文件。例如,如果您想删除 mysql-bin.000011 及之前的所有文件,运行:

PURGE BINARY LOGS TO 'mysql-bin.000012';

或者,您可以按日期删除:

PURGE BINARY LOGS BEFORE '2023-09-01 00:00:00';

6.mysql bin log 只保留最近10天数据

配置 vim /etc/my.cnf
在 [mysqld] 任意位置添加过期时间

expire_logs_days = 10

查看服务

sudo systemctl list-units --type=service

找到该服务重启

  sudo systemctl restart mysqld
  sudo systemctl status mysqld

此时发现磁盘已经释放了大多数了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gitxuzan_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值