linxu磁盘空间释放问题

近期规划

近期博客更新的脚步停了下来,主要是没什么好的素材。其次最近开始刷leetcode后续会将leetcode的刷题过程记录下来。

本次问题

我们项目中有台用来备份数据库sql的服务器。每天会将各各数据库的sql用mysqldump备份下来。因为数据量还是挺大的所以隔一段时间会清除一下久远的备份,这一操作是由corntab执行的。

排查问题

首先查看服务器存储空间大小、分布。
图片名称
根据深度查看
图片名称
图片名称
结果很明显根目录下只占用了10g大小。一般之前清理都是一些日志、备份文件导致磁盘空间不足,但是这次清理后还有20几个G的空间不翼而飞。网上查了下有文章说是因为进程还在导致删除文件的空间没有真正释放。
linux中df和du查看磁盘大小不一致解决方法
按照文中指示使用lsof命令查看了下。
图片名称
图片名称
确实存在大量deleted的文件没释放。
于是查看了下该进程,该进程为配置中心apollo的进程。apollo服务自启动以来两年多时间没有重启了,导致deleted状态的文件越来越多,可用空间越来越小。于是乎重启了下apollo。
再次使用df命令查看了下,20多个G的空间马上回来了。
图片名称


ps:侧面反映linux系统确实稳定,apollo运行了两年都没有重启过,阿里云的服务也稳定一直没有宕机,省心。