从Jfrog artifactory中删除工件不会';不会导致释放磁盘空间

从Jfrog artifactory中删除工件不会';不会导致释放磁盘空间,artifactory,Artifactory,我有ArtifactoryJFrog6.16.0Pro。我安装了插件artifactCleanup并在存储库中运行它。它删除了大约500GB。 下一步,我从垃圾桶中删除文件,现在是零。 我最后一次手动运行“垃圾收集” 空间没有被释放。在存储部分,它向我显示以下信息: Binaries Size: 1.67 TB Artifacts Size: 663.15 GB Optimization: 257.79% 请给出建议,删除工件后,如何释放空间 谢谢大家! 首先,让我们确定artifactor

我有ArtifactoryJFrog6.16.0Pro。我安装了插件artifactCleanup并在存储库中运行它。它删除了大约500GB。 下一步,我从垃圾桶中删除文件,现在是零。 我最后一次手动运行“垃圾收集”

空间没有被释放。在存储部分,它向我显示以下信息:

Binaries Size: 1.67 TB
Artifacts Size: 663.15 GB
Optimization:  257.79%
请给出建议,删除工件后,如何释放空间


谢谢大家!

首先,让我们确定artifactorygc是如何工作的。从:

部署新文件时,Artifactory检查二进制文件是否具有 相同的校验和已经存在,如果存在,则将存储库路径链接到 这个二进制文件。在删除存储库路径时,Artifactory不会 删除二进制文件,因为它可能被其他路径使用。但是有一次 所有指向二进制文件的路径都将被删除,该文件实际上不存在 不再使用。确保您的系统不会堵塞 对于未使用的二进制文件,Artifactory会定期运行“垃圾” “收集”以标识未使用(“已删除”)的二进制文件并进行处置 从数据存储中删除它们。默认情况下,此设置为每4小时运行一次 并且由cron表达式控制

这意味着,如果我将同一个5GB文件存储100次,那么我们的工件大小是500GB,而二进制文件大小仍然是5GB。这是因为Artifactory通过基于校验和的存储进行重复数据消除

二进制文件的大小不应该超过工件的大小,恰恰相反,优化不应该通过100%。然而,这基本上是通过运行“df”命令来计算的,所以如果GC还没有运行,它将显示那些二进制文件仍然存在

这就引出了您的问题,这可能不是问题,而是之前链接的文档中也提到的预期行为:

未引用的二进制文件(包括现有的未引用二进制文件或 手动从垃圾桶中删除的工件)将被删除 在上一个每20 GC运行一次的完整GC策略期间删除 迭代(可配置, 'artifactory.gc.skipfullgcbetweenMinoritements=20')

这告诉我们,二进制文件的实际删除只会每20次迭代进行一次。 请尝试手动触发GC 20次;完整GC的输出将不同于常规GC,从而为您提供已删除内容的摘要


如果这不起作用,请查看Artifactory用户的权限,确保它可以删除文件。

救了我的命,伙计。非常感谢。