이 기사는 LSFMMBPF 2023에서 Yosry의 아이디어와 Johannes Weiner의 기여를 바탕으로 리눅스 커널의 가상 스왑 공간에 대한 새로운 제안을 다룹니다. 이 RFC(의견 요청)는 현재 스왑 설계의 주요 한계를 해결하기 위한 프로토타입을 소개하며, 특히 전통적인 스왑 솔루션인 zswap이 디스크 공간 제약으로 인해 실현 불가능한 모바일 및 임베디드 장치에 적합합니다. 현재 익명 페이지를 스왑 아웃하는 방법은 백업 스왑 장치에 슬롯을 할당하는 방식으로, 이는 특히 고메모리 시스템에서 비효율적이고 자원 집약적임이 입증되었습니다.
제안된 설계는 zswap을 백업 스왑 파일과 분리하여 제로로 채워진 스왑 페이지나 메모리 내 페이지와 같은 다양한 백엔드와의 유연한 연계를 가능하게 합니다. 이러한 분리는 스왑 해제 프로세스를 단순화하여 현재 비용이 많이 들고 복잡한 페이지 테이블 탐색의 필요성을 줄입니다. 또한, 새로운 설계는 다계층 스왑을 용이하게 하여 서로 다른 계층 간의 페이지를 투명하게 승격 및 강등할 수 있도록 하며, 단편화를 줄이기 위한 스왑 파일 압축을 도입합니다. 또한 혼합된 백업 THP(투명 대용량 페이지) 스왑 인을 허용하여 메모리 관리의 효율성을 향상시킵니다.
전반적으로 이 RFC는 리눅스 커널의 스왑 공간 관리 최적화를 위한 중요한 단계로, 다양한 메모리 용량을 가진 시스템에서 성능과 자원 활용도를 개선할 가능성이 있습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.