为什么删除/删除旧的工件不会影响Artifactory磁盘空间的使用?

纳Badani
2022-12-25 36

主题

为什么删除/删除旧的工件不会影响Artifactory磁盘空间的使用?

导致

二进制文件的大小大于工件的大小,这意味着GC没有运行。

决议

要验证工件和二进制文件大小的当前状态,您可以在平台UI中导航到管理模块→监控→存储(如果您使用Artifactory 7。X及以上)。
如下图截图所示:

用户添加图片

或者,如果您正在使用Artifactory 6。xand below, in Artifactory UI, you may navigate to the Admin module. → Advanced → Storage.
如下图截图所示:

用户添加图片

上述行为是由Artifactory版本6.12中引入的新垃圾收集器特性引起的,如本文所述垃圾收集文档:
“未引用的二进制文件,(包括已存在的未引用二进制文件或已从垃圾桶中手动删除的工件),将在之前每20次GC迭代运行一次的Full GC策略中删除”。
这意味着默认情况下,在从UI /使用REST API删除工件后,实际的二进制文件将从文件存储中删除20.如果垃圾回收每4小时运行一次(默认),则应该等待20/(24/4)= 3.33天。这只发生在工件未被引用的情况下,这意味着它们没有被任何其他存储库使用。

执行上述操作并为了克服磁盘使用量的增加,您应该执行垃圾收集REST API调用20倍。