diff --git a/facefusion.ini b/facefusion.ini index cccf3529..7ff67a98 100644 --- a/facefusion.ini +++ b/facefusion.ini @@ -124,7 +124,6 @@ execution_thread_count = [memory] video_memory_strategy = -system_memory_limit = [misc] log_level = diff --git a/facefusion/args.py b/facefusion/args.py index 095995ee..801e9553 100644 --- a/facefusion/args.py +++ b/facefusion/args.py @@ -120,7 +120,6 @@ def apply_args(args : Args, apply_state_item : ApplyStateItem) -> None: apply_state_item('api_port', args.get('api_port')) # memory apply_state_item('video_memory_strategy', args.get('video_memory_strategy')) - apply_state_item('system_memory_limit', args.get('system_memory_limit')) # misc apply_state_item('log_level', args.get('log_level')) apply_state_item('halt_on_error', args.get('halt_on_error')) diff --git a/facefusion/choices.py b/facefusion/choices.py index 2fecaecd..0d85efd3 100755 --- a/facefusion/choices.py +++ b/facefusion/choices.py @@ -152,7 +152,6 @@ job_statuses : List[JobStatus] = list(get_args(JobStatus)) benchmark_cycle_count_range : Sequence[int] = create_int_range(1, 10, 1) execution_thread_count_range : Sequence[int] = create_int_range(1, 32, 1) -system_memory_limit_range : Sequence[int] = create_int_range(0, 128, 4) face_detector_margin_range : Sequence[int] = create_int_range(0, 100, 1) face_detector_angles : Sequence[Angle] = create_int_range(0, 270, 90) face_detector_score_range : Sequence[Score] = create_float_range(0.0, 1.0, 0.05) diff --git a/facefusion/core.py b/facefusion/core.py index a8b5a127..b94a52fb 100755 --- a/facefusion/core.py +++ b/facefusion/core.py @@ -15,7 +15,6 @@ from facefusion.exit_helper import hard_exit, signal_exit from facefusion.filesystem import get_file_extension, get_file_name, is_image, is_video, resolve_file_paths, resolve_file_pattern from facefusion.jobs import job_helper, job_manager, job_runner from facefusion.jobs.job_list import compose_job_list -from facefusion.memory import limit_system_memory from facefusion.processors.core import get_processors_modules from facefusion.program import create_program from facefusion.program_helper import validate_args @@ -44,11 +43,6 @@ def cli() -> None: def route(args : Args) -> None: - system_memory_limit = state_manager.get_item('system_memory_limit') - - if system_memory_limit and system_memory_limit > 0: - limit_system_memory(system_memory_limit) - if state_manager.get_item('command') == 'force-download': error_code = force_download() hard_exit(error_code) diff --git a/facefusion/locales.py b/facefusion/locales.py index 659c8abf..c79ae3a1 100644 --- a/facefusion/locales.py +++ b/facefusion/locales.py @@ -159,7 +159,6 @@ LOCALES : Locales =\ 'execution_providers': 'inference using different providers (choices: {choices}, ...)', 'execution_thread_count': 'specify the amount of parallel threads while processing', 'video_memory_strategy': 'balance fast processing and low VRAM usage', - 'system_memory_limit': 'limit the available RAM that can be used while processing', 'log_level': 'adjust the message severity displayed in the terminal', 'halt_on_error': 'halt the program once an error occurred', 'run': 'run the program', @@ -255,7 +254,6 @@ LOCALES : Locales =\ 'source_file': 'SOURCE', 'start_button': 'START', 'stop_button': 'STOP', - 'system_memory_limit_slider': 'SYSTEM MEMORY LIMIT', 'target_file': 'TARGET', 'temp_frame_format_dropdown': 'TEMP FRAME FORMAT', 'terminal_textbox': 'TERMINAL', diff --git a/facefusion/memory.py b/facefusion/memory.py deleted file mode 100644 index f4161ac0..00000000 --- a/facefusion/memory.py +++ /dev/null @@ -1,21 +0,0 @@ -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)) #type:ignore[attr-defined] - else: - resource.setrlimit(resource.RLIMIT_DATA, (system_memory_limit, system_memory_limit)) - return True - except Exception: - return False diff --git a/facefusion/program.py b/facefusion/program.py index cec30c1c..e8a23223 100755 --- a/facefusion/program.py +++ b/facefusion/program.py @@ -243,8 +243,7 @@ def create_memory_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_memory = program.add_argument_group('memory') group_memory.add_argument('--video-memory-strategy', help = translator.get('help.video_memory_strategy'), default = config.get_str_value('memory', 'video_memory_strategy', 'strict'), choices = facefusion.choices.video_memory_strategies) - group_memory.add_argument('--system-memory-limit', help = translator.get('help.system_memory_limit'), type = int, default = config.get_int_value('memory', 'system_memory_limit', '0'), choices = facefusion.choices.system_memory_limit_range, metavar = create_int_metavar(facefusion.choices.system_memory_limit_range)) - job_store.register_job_keys([ 'video_memory_strategy', 'system_memory_limit' ]) + job_store.register_job_keys([ 'video_memory_strategy' ]) return program diff --git a/facefusion/types.py b/facefusion/types.py index 61948df6..07047658 100755 --- a/facefusion/types.py +++ b/facefusion/types.py @@ -326,7 +326,6 @@ StateKey = Literal\ 'execution_providers', 'execution_thread_count', 'video_memory_strategy', - 'system_memory_limit', 'log_level', 'halt_on_error', 'job_id', @@ -393,7 +392,6 @@ State = TypedDict('State', 'execution_providers' : List[ExecutionProvider], 'execution_thread_count' : int, 'video_memory_strategy' : VideoMemoryStrategy, - 'system_memory_limit' : int, 'log_level' : LogLevel, 'halt_on_error' : bool, 'job_id' : str, diff --git a/tests/test_memory.py b/tests/test_memory.py deleted file mode 100644 index e637ea10..00000000 --- a/tests/test_memory.py +++ /dev/null @@ -1,8 +0,0 @@ -from facefusion.common_helper import is_linux, is_macos -from facefusion.memory import limit_system_memory - - -def test_limit_system_memory() -> None: - assert limit_system_memory(4) is True - if is_linux() or is_macos(): - assert limit_system_memory(1024) is False