|
from facefusion.common_helper import is_macos, is_windows |
|
|
|
if is_windows(): |
|
import ctypes |
|
else: |
|
import resource |
|
|
|
|
|
def limit_system_memory(system_memory_limit : int = 1) -> bool: |
|
if is_macos(): |
|
system_memory_limit = system_memory_limit * (1024 ** 6) |
|
else: |
|
system_memory_limit = system_memory_limit * (1024 ** 3) |
|
try: |
|
if is_windows(): |
|
ctypes.windll.kernel32.SetProcessWorkingSetSize(-1, ctypes.c_size_t(system_memory_limit), ctypes.c_size_t(system_memory_limit)) |
|
else: |
|
resource.setrlimit(resource.RLIMIT_DATA, (system_memory_limit, system_memory_limit)) |
|
return True |
|
except Exception: |
|
return False |
|
|