在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
rm -rf之后就高枕无忧了?现在运营的平台采用的是微服务架构,部署的服务较多,开发环境一台服务器上部署几十个服务是很正常的,之前用CI构建部署的时候,发现磁盘满了。我的处理方式是:先删了 然而过几天后,又有同事发现该机器磁盘又满了,惊呼奇怪咋这么快又满了。最终发现是上次
可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器。 当一个文件被某一个进程引用时,对应i_count数就会增加;当创建文件的硬链接的时候,对应i_nlink数就会增加。在Linux或者Unix系统中,通过rm或者文件管理器删除文件,只是将它会从文件系统的目录结构上解除链接(unlink),实际上就是减少磁盘引用计数i_nlink,但是并不会减少i_count数。如果一个文件正在被某个进程调用,用户使用rm命令把文件"删除"了,这时候通过ls等文件管理命令就无法找到这个文件了,但是并不意味着这个文件真正的从磁盘上删除了。因为还有一个进程在正常的执行,在向文件中读取或写入,也就是说文件其实并没有被真正的"删除",所以磁盘空间也就会一直被占用。当服务进程停止(文件句柄的引用计数会变为0)或者重启后,占用的存储空间才被释放。如果不知道具体进程或文件名的话: 其实可以简单用修改文件内容的方式(例如 du和ls的区别对于某个日志文件,直接用 [dev@tjptdebug-no yyzx_tradingcenterservice_logs]$ du -h yyzx_tradingcenterservice.log.2020-06-03.log 4.0K yyzx_tradingcenterservice.log.2020-06-03.log [dev@tjptdebug-no yyzx_tradingcenterservice_logs]$ ll -h yyzx_tradingcenterservice.log.2020-06-03.log -rw-rw-r-- 1 dev dev 7 Jul 8 19:49 yyzx_tradingcenterservice.log.2020-06-03.log ls 的结果是 apparent sizes,我的理解是文件长度,就类似文件系统中 file 这个数据结构中的定义文件长度的这个字段,du 的结果 disk usage,即真正占用存储空间的大小,且默认度量单位是 block。block 为磁盘存储的基本的单位,方便磁盘寻址等,而此处的block可以理解为一个逻辑单位,且一个文件除了包括数据外,还需要存储描述此文件的其他信息,因此包含1个字节的文件实际在磁盘中占用的存储空间不止1个字节。 总结du == disk usage (磁盘使用量,占用的磁盘空间) 到此这篇关于rm -rf之后磁盘空间没有释放的解决方法的文章就介绍到这了,更多相关rm -rf磁盘释放内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论