我如何调优或禁用垃圾收集?

马修•王
2022-10-13 06:46

描述

在某些情况下,您可能会看到索引/扫描或其他x射线任务由于GC而暂停:[cn] [37:04. 289z] 33m[jfxid] [0m [34m] [INFO] [0m [73e971d4309b39f3] [workers_manager:247] [main]节点xray1 (indexer)暂停工作,请求:bf5ac2e3-a5ec-45a7-521e-fc1d2a489898
[08:08 . 04t18:02:43.65] z [33m[jfxr] [0m [34m] [INFO] [0m [b40cab90035c65df] [gc_idle_listener_job:143] [main]空闲侦听器将gc剩余时间从4.999443218延长到10s

决议

你可以尝试通过下面的请求API来调整GC设置(需要重新启动才能生效):
//m.si-fil.com/confluence/display/JFROG/Xray+REST+API#XrayRESTAPI-SetGCConfiguration

有效载荷中值的含义如下:

scheduleenabled: true/false设置为false不会关闭它。相反,gc将在系统空闲时运行。如果将其设置为true,将采用以下值。
MaxDuration: 180, //单位为秒(3分钟)。每次GC运行这段时间。
SchedulerPeriod: 120, //以分钟为单位(2小时)每隔120分钟,无论发生什么情况,GC都会开始工作。
MaxRetryCount: 3, //3 times如果gc未能清除某些东西,他将重试3次。
IdleListenerEnabled: true, GC检查系统是否处于空闲状态。
IdleListenerGcDurationInSec: 10,当系统处于空闲状态时,gc将运行10秒。
IdleListenerSamplingRateInSeconds: 5,当系统处于空闲状态时,每5秒采样一次。如果客户端可以调度gc,那就太好了,否则就关闭调度程序,让它在空闲状态下工作。

你也可以使用下面的API中止GC:
//m.si-fil.com/confluence/display/JFROG/Xray+REST+API#XrayRESTAPI-AbortGC

建议首先尝试使用schedulerEnabled: true调优这些值,如果问题仍然存在,请尝试禁用调度器。

最后,如果调优GC设置没有帮助,您可以在系统中禁用GC。如下所示。

服务器:
deleteMode:“渴望”