지금까지 테스트 한 모든 GNU / Linux 배포판은 램이 채워지고 시스템이 스와핑되기 시작할 때마다 때때로 데스크탑과 그래픽 사용자 인터페이스 전체가 지옥처럼 응답하지 않는 경우가 있습니다. 마우스 포인터가 실제로 움직일 때까지 물리적 마우스를 움직였습니다.
이것은 램이 적은 시스템에서 특히 성가신 행동입니다.
데스크톱 환경 등과 같은 일부 응용 프로그램 / 작업에 다른 응용 프로그램보다 램에 우선 순위를 두어 실제로 모든 메모리를 호핑하는 응용 프로그램이 데스크톱 환경 등 전에 스왑되도록 할 수있는 방법이 있습니까?
편집 : 전체 RAM을 사용하는 경우에 대해 이야기하고 있으므로 비활성화하지 않으면 항상 스왑을 시작합니다 (프로세스가 임의로 종료되는 것을 원하지 않습니다). 램 환경이 낮을뿐 아니라 데스크톱 시스템의 8GiB 램 (부분적으로 메모리 누수로 인해 많은 VM이 원인)에서이 문제가 발생했습니다. ZRAM은 문제를 지연시키기 때문에 해결책이 아닙니다. 내가이 문제에 대해 생각할 수있는 유일한 해결책은 특정 작업이 전혀 교환되지 않거나 최소한 가능성이 거의없는 사용자 공간 유틸리티 또는 커널 API입니다. 다른 솔루션을 알고 있거나 존재하거나 계획중인 도구 또는 API에 대해 아는 사람이 있습니까?
두 번째 편집 : https://aur.archlinux.org/packages/ulatencyd-git/ 및 https://wiki.archlinux.org/index.php/Ulatencyd 에 따르면 ulatencyd 는 최신 버전의 systemd에서 작동하지 않는 것 같습니다. . systemd가 올바르게 이해하면 사용자 공간 관점에서 cgroup을 완전히 제어하기 때문일 수 있습니다.
cgroup_enable=memory swapaccount=1
커널 명령 줄에서), 약간의 성능 비용이 있음에 유의하십시오). 구현 예 : ulatencyd .