我有Artifactory Jfrog 6.16.0 Pro。我安装了插件artifactCleanup,并针对存储库运行它。它删除了约500GB。 下一步,我从垃圾桶中删除文件,现在为零。 我最后一个手动运行“垃圾收集”。
没有释放空间。在“存储”部分,它向我显示以下信息:
Binaries Size: 1.67 TB
Artifacts Size: 663.15 GB
Optimization: 257.79%
请告知,删除工件后如何释放空间?
谢谢!
答案 0 :(得分:3)
首先让我们确定Artifactory GC的工作方式。来自docs:
部署新文件后,Artifactory会检查二进制文件是否包含 相同的校验和已经存在,如果存在,则将存储库路径链接到 这个二进制文件。删除存储库路径后,Artifactory不会 删除二进制文件,因为它可能会被其他路径使用。但是,一旦 指向二进制文件的所有路径都被删除,文件实际上不是 不再使用。确保您的系统不会阻塞 对于未使用的二进制文件,Artifactory会定期运行“垃圾 收集”以标识未使用(“已删除”)的二进制文件并进行处理 他们从数据存储区。默认情况下,它设置为每4小时运行一次 并由cron表达式控制。
这意味着如果我将相同的5GB文件存储100次,那么我们的工件大小为500GB,而我们的二进制文件大小仍然为5GB。这是因为Artifactory通过基于校验和的存储进行了重复数据删除。
二进制文件的大小永远不能超过工件的大小,相反,优化不应超过100%。但是,这基本上是通过运行“ df”命令来计算的,因此,如果GC未运行,它将显示那些二进制文件仍然存在。
这将我们带到您的问题,这可能不是问题,但先前链接的文档中也指出了预期的行为:
未引用的二进制文件(包括现有的未引用的二进制文件或 从垃圾箱中手动删除的工件)将 在之前每20个GC运行一次的完全GC策略期间删除了 迭代(可配置, “ artifactory.gc.skipFullGcBetweenMinorIterations = 20”)。
这告诉我们,实际的删除二进制仅每20次迭代发生一次。 请尝试手动触发GC 20次;完整GC的输出将与常规GC不同,从而为您提供了删除内容的摘要。
如果这不起作用,请查看Artifactory用户的权限,以确保它可以删除文件。