zram 메모리 압축으로 RAM 한계 극복
zram의 개념과 원리 zram(이전 명칭: compcache)은 리눅스 커널에서 제공하는 메모리 압축 기술이다. RAM의 일부를 압축해 가상 블록 장치로 사용하며, 2009년 Nitin Gupta가 처음 개발했다. 이후 리눅스 커널 3.14부터 정식으로 통합되어 지금까지 널리 사용되고 있다. 핵심은 디스크 기반 스왑 대신 압축된 RAM을 스왑 공간으로 활용해 디스크 I/O 부담 없이 메모리 사용 효율을 높이는 데 있다. 특히 메모리가 제한된 환경에서 효과적이다. zram 장치는 데이터를 메모리에 저장하기 전에 압축하고, 접근할 때 다시 압축을 해제한다. 이 과정에서 CPU 리소스를 일부 사용하지만 디스크 I/O를 피할 수 있어 전체 성능에 도움이 되는 경우가 많다. 일반적으로 zram은 LZO(Lempel-Ziv-Oberhumer), LZ4, ZSTD(Zstandard) 같은 고속 압축 알고리즘을 사용하며, 2:1에서 4:1 정도의 압축률을 기대할 수 있다. 압축 알고리즘은 시스템 요구사항에 따라 선택할 수 있고, Ubuntu 24.04에서는 기본적으로 속도와 압축률의 균형이 좋은 LZ4를 사용한다. ...