WSL 2에는 이제 메모리 회수 기능이 있습니다.
Windows 10 빌드 18917 릴리스와 함께 Microsoft는 Linux 2용 Windows 하위 시스템인 Insiders에 WSL 2를 도입했습니다. 완전한 시스템 호출 호환성을 가능하게 하는 Windows와 함께 실제 Linux 커널을 제공합니다. Linux 커널이 Windows와 함께 제공되는 것은 이번이 처음입니다. Windows 10 빌드 19013에는 호스트 시스템이 Linux 프로세스에서 더 이상 필요하지 않은 메모리를 재사용할 수 있는 또 다른 WSL 2 기능인 메모리 회수가 추가되었습니다.
이전에는 WSL2 가상 머신(VM)의 메모리 요구 사항이 워크플로 또는 Linux 커널에서 VM에 할당된 전체 메모리는 주인. 그러나 워크플로가 완료되면 워크플로에 더 이상 필요하지 않은 메모리는 호스트로 다시 해제되지 않습니다. 이제 WSL 2의 메모리 회수를 통해 Linux의 메모리가 더 이상 필요하지 않을 때 메모리가 해제되고 WSL 2 VM의 메모리 크기가 축소되는 호스트에 다시 보고할 수 있습니다.
전에:
후에:
다음 동영상을 확인하세요.
작동 원리
이 기능은 리눅스 커널 패치 Linux 게스트에서 더 이상 필요하지 않을 때 작은 연속 메모리 블록을 호스트 시스템으로 반환할 수 있습니다. WSL 팀이 업데이트했습니다. WSL2의 Linux 커널 이 패치를 포함하고 이 페이지 보고 기능을 지원하도록 Hyper-V를 수정했습니다. 호스트에 가능한 한 많은 메모리를 반환하기 위해 WSL은 메모리를 주기적으로 압축하여 연속 블록에서 여유 메모리를 사용할 수 있도록 합니다. 이것은 CPU가 유휴 상태일 때만 실행됩니다. 출력에서 'WSL2: Performing memory compaction' 메시지를 찾아보면 언제 이런 일이 발생하는지 알 수 있습니다. dmesg
명령. 고급 사용자인 경우 다음에서 값을 편집하여 이 동작을 구성할 수 있습니다. .wslconfig. 확인해주세요 WSL 19013 릴리스 정보 이 옵션을 보려면 또는 이 Linux 명령을 수동으로 실행하려면 다음 명령을 실행할 수 있습니다. 에코 1 > /proc/sys/vm/compact_memory
루트 사용자로.
자세한 기술 세부 사항과 예는 다음에서 찾을 수 있습니다. 공식 블로그 포스트.