리눅스에서 가상 메모리로 사용하기 위해 디스크에 할당해 놓은 파티션을 스왑(swap)이라고 하는데, 디스크를 사용하는 대신 메모리 영역에 데이터 압축 기술을 적용해서 스왑을 대신할 수 있다. (물론 스왑과 같이 사용해도 무방하다.)
zram이라는 기술인데, 메모리 사용량이 일정 수준 이상이 되면 메모리 영역의 데이터를 (스왑 영역 대신) zram 영역으로 옮기면서 압축을 함으로써 메모리 부족을 완화하는 방식인 듯. (물론 이렇게 해도 메모리가 모자라면 디스크의 스왑 영역도 사용하게 될 것이다.)
메모리가 충분할 경우에는 별 필요가 없겠으나, 몇가지 특정한 상황에서는 상당히 유용한 기능이 될 수 있다.
RAM 1GB~2GB 수준의 구형 노트북에서 리눅스를 사용하는 경우, 디스크의 스왑 영역을 사용하는 것보다 속도가 빠르므로 쾌적한 사용에 도움이 될 것으로 보인다.
버추얼박스(VirtualBox) 또는 VM웨어(VMWare)를 통해서 가상 머신으로 리눅스를 사용하는 경우에도 RAM 할당을 충분히 하기 어렵다면 zram 활용을 고려해 볼 수 있겠다.
SSD에 리눅스를 설치할 때도 SSD 용량을 절약하는 동시에 수명을 단축시키는 쓰기(write) 동작을 줄이기 위해 스왑 파티션을 아예 할당하지 않고 설치한 후 zram을 사용하는 것도 괜찮을 듯하다. 실제로 구글 크롬OS(Chrome OS)에서 zram을 채택하고 있는데, 크롬북이 주로 저용량 SSD를 저장장치로 채택하고 있다는 점과 무관하지 않아 보인다.
zram을 사용할 경우, 압축/해제 과정에 의해 RAM 입출력에서의 시간 지연이 발생할 것이고 이로 인해 메모리 입출력 성능이 조금 저하될 것이다. 또한 압축/해제를 위해 CPU 자원을 사용할 것이므로 노트북 같은 이동형 기기는 전력 소모가 조금 늘어날 여지도 있다. 그러나 디스크에 접근하는 것보다는 메모리에 접근하는 것이 훨씬 빠르기 때문에 위에서 언급한 사용 조건이라면 충분히 고려해 볼 만하다.
우분투 계열 리눅스 배포판에서 아주 간단하게 활성화할 수 있다. 14.04 LTS 기준으로, zram-config 패키지를 설치하면 된다.
sudo apt-get install zram-config
설치가 완료되고 난 후 재부팅을 하면 zram이 활성화된다. zram 활성화 여부는 아래와 같이 확인해 볼 수 있다.
cat /proc/swaps
출력된 결과에 /dev/zram0 이런 것이 보이면 zram 영역이 생긴 것이다.
메모리 사용량이 총 메모리 용량의 절반이 넘으면 데이터가 zram 영역으로 이동하면서 압축되기 시작한다. zram의 설정은 /etc/zram-config.conf 파일에 있는데, 굳이 편집할 필요는 없을 듯.
zram을 비활성화하려면 아래와 같이 zram-config 패키지를 제거하면 되겠다. 관련 시스템 설정을 다 제거해야 하므로 --purge 옵션을 사용한다.
sudo apt-get remove --purge zram-config
제거가 완료된 후 재부팅하면 된다.
zram이라는 기술인데, 메모리 사용량이 일정 수준 이상이 되면 메모리 영역의 데이터를 (스왑 영역 대신) zram 영역으로 옮기면서 압축을 함으로써 메모리 부족을 완화하는 방식인 듯. (물론 이렇게 해도 메모리가 모자라면 디스크의 스왑 영역도 사용하게 될 것이다.)
메모리가 충분할 경우에는 별 필요가 없겠으나, 몇가지 특정한 상황에서는 상당히 유용한 기능이 될 수 있다.
RAM 1GB~2GB 수준의 구형 노트북에서 리눅스를 사용하는 경우, 디스크의 스왑 영역을 사용하는 것보다 속도가 빠르므로 쾌적한 사용에 도움이 될 것으로 보인다.
버추얼박스(VirtualBox) 또는 VM웨어(VMWare)를 통해서 가상 머신으로 리눅스를 사용하는 경우에도 RAM 할당을 충분히 하기 어렵다면 zram 활용을 고려해 볼 수 있겠다.
SSD에 리눅스를 설치할 때도 SSD 용량을 절약하는 동시에 수명을 단축시키는 쓰기(write) 동작을 줄이기 위해 스왑 파티션을 아예 할당하지 않고 설치한 후 zram을 사용하는 것도 괜찮을 듯하다. 실제로 구글 크롬OS(Chrome OS)에서 zram을 채택하고 있는데, 크롬북이 주로 저용량 SSD를 저장장치로 채택하고 있다는 점과 무관하지 않아 보인다.
zram을 사용할 경우, 압축/해제 과정에 의해 RAM 입출력에서의 시간 지연이 발생할 것이고 이로 인해 메모리 입출력 성능이 조금 저하될 것이다. 또한 압축/해제를 위해 CPU 자원을 사용할 것이므로 노트북 같은 이동형 기기는 전력 소모가 조금 늘어날 여지도 있다. 그러나 디스크에 접근하는 것보다는 메모리에 접근하는 것이 훨씬 빠르기 때문에 위에서 언급한 사용 조건이라면 충분히 고려해 볼 만하다.
우분투 계열 리눅스 배포판에서 아주 간단하게 활성화할 수 있다. 14.04 LTS 기준으로, zram-config 패키지를 설치하면 된다.
sudo apt-get install zram-config
설치가 완료되고 난 후 재부팅을 하면 zram이 활성화된다. zram 활성화 여부는 아래와 같이 확인해 볼 수 있다.
cat /proc/swaps
출력된 결과에 /dev/zram0 이런 것이 보이면 zram 영역이 생긴 것이다.
메모리 사용량이 총 메모리 용량의 절반이 넘으면 데이터가 zram 영역으로 이동하면서 압축되기 시작한다. zram의 설정은 /etc/zram-config.conf 파일에 있는데, 굳이 편집할 필요는 없을 듯.
zram을 비활성화하려면 아래와 같이 zram-config 패키지를 제거하면 되겠다. 관련 시스템 설정을 다 제거해야 하므로 --purge 옵션을 사용한다.
sudo apt-get remove --purge zram-config
제거가 완료된 후 재부팅하면 된다.
덧글
뭐 쓸모가 있으니까 만들었겠죠 ^^;;;
메모리가 충분하다면 굳이 사용할 필요가 없습니다.
오래전에 하드 압축 유틸 생각이 나네요. 하드 압축은 하드가 워낙 느리고 시피유는 부하는 별로 안걸려서 실제 하드 압축 유틸을 깔면 시스템 체감 속도가 빨라졌죠. 어쨌든 이거 깔아봐야겠습니다.