zRam이란 기술은 리눅스가 임베디드기기에 올라가던 시절에 생각했었고 2010년 스마트폰에서 안드로이드가 미친듯이 성장하면서 많은 발전을 이룬 기술 중 하나입니다. 즉 2015년 현재 zRam은 상당히 나온지 오래된 기술중 하나입니다.


간단하게 말하자면 zRam은 램드라이브 스왑 파티션이라고 생각하면 의외로 간단합니다. 물론 그와는 큰 차이가 있습니다. (실제로 램드라이브를 보통의 스왑파티션으로 잡으면 상당히 병맛납니다. 하지마세요.)


리눅스는 윈도우의 그것과 같이 메모리가 모자르면 디스크를 메모리처럼 사용하기 위해 스왑을 시도합니다. 그 덕에 메모리가 부족하면 무시무시하게 늘어지는 데스크탑을 볼 수 있었습니다. 그렇다고 스왑을 안 쓸 수는 없었습니다. 당장 메모리가 없는데 일단 지금 돌아가는 프로그램을 선택적으로나마 종료하려면 그나마도 메모리가 필요했으니까요.


zRam은 이 생각을 뒤집고 다르게 생각한 기술입니다.

"프로그램의 사용량을 판단해서 잘 안 쓰는 메모리는 압축해 두는 것은 어떨까?"


사실 리눅스는 잘 안 쓰는 데몬이나 프로그램들이 의외로 많습니다. 당장 cups만 봐도 프린터를 안 쓸 때는 굳이 돌아가지 않아도 됩니다. (이는 Windows의 Printer Spooler 서비스만 봐도 알 수 있습니다. 수동 모드로 되어있지요.) 1시간에 한번씩 체크하는 업데이트 서비스도 비슷하다고 볼 수 있구요. 그런데 이 놈들은 전부 메모리에 올라앉아서 아까운 메모리를 쳐묵쳐묵하고 있습니다. 요새 컴퓨터에 워낙 성능이 좋으니 큰 문제를 일으키지는 않지만 아까운것은 아까운 겁니다. 저 데몬들이 메모리를 잡으면서 발생하는 전력소모도 상당히 아깝습니다.

이럴 때 zRam은 저 잘 쓰이지 않는 메모리들을 압축해서 자체적으로 만들어진 램 한쪽 구석에 쑤셔넣어버립니다. 이 과정은 눈에 보이지 않고 사용자가 느낄 수도 없기 때문에 이런일이 벌어지는지 사용자는 전혀 눈치를 챌 수 없습니다.

 특히 어마어마한 자동화 스크립트와 데몬이 기본으로 굴러가는 우분투는 데비안같은 배포판에 비해 메모리 사용량이 상당히 높습니다. 2GB이하의 메모리를 지닌 하드웨어는 우분투가 상당히 버거울 지경입니다. 이때 zRam을 활성화한다면 상당한 성능향상을 꾀 할 수 있습니다.


만약 8GB이상의 메모리를 장착한 PC라면 굳이 zRam은 필요없을 것입니다. 그리고 예전에는 안드로이드 스마트폰에서도 상당히 애용되었는데 요즘 스마트폰은 괴물이 많은데다가 최적화기술이 많이 발전되어서인지 zRam이 빠지고 추세입니다. 하지만 3년만 지나면 구형이 되는 이 시대에 zRam은 커스텀롬에서 빠질 수 없는 기술 중 하나입니다.


말만이렇게 주구장창해봐야 소용없고 한번 zRam을 써보셔야 아시겠지요?


우분투 14.04이후에선 아주 간단하게 zRam을 쓸 수 있습니다.


sudo apt-get install zram-config


이렇게 zram-config을 설치해주시면 zRam의 설정은 끝입니다. 

궁금하시면




이렇게 zRam 블록이 추가되었는지만 확인하면 됩니다.

메모리 부족하신분은 이 설정만으로도 어마어마한 성능향상을 느낄 수 있으실 겁니다.

,