diff --git a/apps/maxkb/settings/mem.py b/apps/maxkb/settings/mem.py index e9daa5ab4..aa8acc465 100644 --- a/apps/maxkb/settings/mem.py +++ b/apps/maxkb/settings/mem.py @@ -4,26 +4,16 @@ import gc import threading from maxkb.const import CONFIG from common.utils.logger import maxkb_logger +import random CURRENT_PID=os.getpid() -GC_THRESHOLD = (100, 5, 5) # 1 hour GC_INTERVAL = 3600 -def change_gc_threshold(): - old_threshold = gc.get_threshold() - gc.set_threshold(*GC_THRESHOLD) - maxkb_logger.debug(f"(PID: {CURRENT_PID}) GC thresholds changed from {old_threshold} → {GC_THRESHOLD}") - def force_gc(): collected = gc.collect() maxkb_logger.debug(f"(PID: {CURRENT_PID}) Forced GC ({collected} objects collected)") - threading.Timer(GC_INTERVAL, force_gc).start() - -def init_memory_optimization(): - change_gc_threshold() - force_gc() - maxkb_logger.debug("(PID: {CURRENT_PID}) Memory optimization (GC tuning) started.") + threading.Timer(GC_INTERVAL - random.randint(0, 900, force_gc).start() if CONFIG.get("ENABLE_MEMORY_OPTIMIZATION", '1') == "1": - init_memory_optimization() + threading.Timer(GC_INTERVAL - random.randint(0, 900), force_gc).start()