mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-07-18 12:28:17 +08:00
Try to fix issue with ram cache for some users.
This commit is contained in:
parent
1073a74976
commit
f5c4bb1f02
@ -8,6 +8,7 @@ from typing import Sequence, Mapping, Dict
|
|||||||
from comfy.model_patcher import ModelPatcher
|
from comfy.model_patcher import ModelPatcher
|
||||||
from comfy_execution.graph import DynamicPrompt
|
from comfy_execution.graph import DynamicPrompt
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
import gc
|
||||||
|
|
||||||
import nodes
|
import nodes
|
||||||
|
|
||||||
@ -553,11 +554,15 @@ class RAMPressureCache(LRUCache):
|
|||||||
oom_score *= ram_usage
|
oom_score *= ram_usage
|
||||||
#In the case where we have no information on the node ram usage at all,
|
#In the case where we have no information on the node ram usage at all,
|
||||||
#break OOM score ties on the last touch timestamp (pure LRU)
|
#break OOM score ties on the last touch timestamp (pure LRU)
|
||||||
bisect.insort(clean_list, (oom_score, self.timestamps[key], key))
|
bisect.insort(clean_list, (oom_score, self.timestamps[key], ram_usage, key))
|
||||||
|
|
||||||
while psutil.virtual_memory().available < target and clean_list:
|
to_free = target - psutil.virtual_memory().available
|
||||||
_, _, key = clean_list.pop()
|
while to_free > 0 and clean_list:
|
||||||
|
oom_score, _, ram_usage, key = clean_list.pop()
|
||||||
del self.cache[key]
|
del self.cache[key]
|
||||||
self.used_generation.pop(key, None)
|
self.used_generation.pop(key, None)
|
||||||
self.timestamps.pop(key, None)
|
self.timestamps.pop(key, None)
|
||||||
self.children.pop(key, None)
|
self.children.pop(key, None)
|
||||||
|
to_free -= ram_usage
|
||||||
|
|
||||||
|
gc.collect()
|
||||||
|
|||||||
2
main.py
2
main.py
@ -314,7 +314,7 @@ def prompt_worker(q, server_instance):
|
|||||||
cache_ram = 0
|
cache_ram = 0
|
||||||
cache_ram_inactive = 0
|
cache_ram_inactive = 0
|
||||||
if not args.cache_classic and not args.cache_none and args.cache_lru <= 0:
|
if not args.cache_classic and not args.cache_none and args.cache_lru <= 0:
|
||||||
cache_ram = min(10.0, max(2.0, comfy.model_management.total_ram * 0.10 / 1024.0))
|
cache_ram = min(10.0, max(1.5, comfy.model_management.total_ram * 0.05 / 1024.0))
|
||||||
cache_ram_inactive = min(96.0, comfy.model_management.total_ram / 1024.0)
|
cache_ram_inactive = min(96.0, comfy.model_management.total_ram / 1024.0)
|
||||||
if len(args.cache_ram) > 0:
|
if len(args.cache_ram) > 0:
|
||||||
cache_ram = args.cache_ram[0]
|
cache_ram = args.cache_ram[0]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user