기타 Hacker News · 2026-09-24

NixOS에서 삽질 끝에 단 두 줄로 끝낸 스왑·Zswap 설정 팁

핵심 요약
  • 한 개발자가 NixOS 환경에서 최대 절전 모드(Hibernate)와 Zswap을 최적화한 설정 경험담을 공유했습니다.
  • 초기에는 ZRAM을 잘못 사용하다가 디스크 기반 스왑에는 Zswap이 적합하다는 점을 깨닫고 설정을 변경했습니다.
  • 압축 알고리즘을 zstd로 맞추고 swappiness를 100으로 설정해 단 두 줄의 코드로 구성을 단순화했습니다.
요약 리눅스 커뮤니티에서 언제나 뜨거운 논쟁거리인 스왑(Swap), ZRAM, Zswap 설정에 대해 한 개발자가 NixOS 환경에서의 실제 경험과 최적 설정법을 공유했습니다. 글쓴이는 서버가 아닌 데스크톱과 노트북 환경을 기준으로 삼았으며, 일정 시간 대기 후 최대 절전 모드로 전환되는 'Suspend-then-hibernate' 기능을 애용하기 때문에 디스크 기반 스왑이 필수적이라고 설명합니다. 이때 최대 절전 모드 복구 시 initramfs가 파일시스템 마운트 전에 스왑 위치를 알아야 하므로 파티션 또는 스왑 파일 설정 시 주의가 필요한데, NixOS는 스왑 파일의 오프셋을 자동으로 잘 처리해 준다고 덧붙였습니다. 또한 글쓴이는 과거 ZRAM을 잘못 썼던 시행착오를 언급했습니다. 디스크 스왑과 함께 최대 절전 모드를 쓰려면 ZRAM 대신 커널 캐시 압축 기술인 Zswap을 사용해야 한다는 점을 뒤늦게 깨달았다는 것입니다. 압축 알고리즘 역시 지연 시간이 가장 짧은 lz4를 거쳐, 결국 압축률이 높아 디스크 I/O를 더 많이 줄여주는 NixOS 기본값 zstd로 정착했습니다. 결론적으로 저자가 정착한 NixOS 설정은 단 두 줄(boot.zswap.enable = true, vm.swappiness = 100)로 매우 단순합니다. SSD 환경에서는 swappiness 값을 100 정도로 높여도 원활히 작동하며, 복잡한 설정 없이도 쾌적한 절전 및 메모리 압축 환경을 구축할 수 있다는 후기입니다.
Sponsored · 광고