우분투 리눅스에서 ZRAM 구성하는 방법

ZRAM은 CPU 성능을 일부 희생하여 더 많은 RAM을 얻는 훌륭한 솔루션이지만, ZRAM에 더 많은 또는 적은 RAM을 할당하려면 어떻게 구성할 수 있을까요? 압축 알고리즘을 어떻게 변경할 수 있을까요? 이러한 변경이 가치 있는 시나리오는 무엇일까요? 우분투에서 ZRAM을 구성하는 방법을 알아보려면 계속 읽어보세요.
목차
- 현재 ZRAM 상태 확인
- ZRAM 크기 변경
- ZRAM 압축 알고리즘 변경
알아두면 좋은 점: ZRAM, ZCache 또는 ZSwap이 적합한지 확실하지 않은 경우, 저희가 답변해 드립니다.
현재 ZRAM 상태 확인
대부분의 사람들은 zram-config 스크립트를 통해 우분투 및 데비안 기반 리눅스 배포판에서 ZRAM을 사용합니다. 이는 ZRAM을 가장 간단한 방법으로 활용할 수 있게 해주기 때문입니다. 다음 명령어로 설치할 수 있습니다:
sudo apt install util-linux zram-config다음으로, 우분투 머신에서 ZRAM이 이미 활성화되어 있는지 확인합니다. zramctl 유틸리티를 실행하여 확인할 수 있습니다:
zramctl시스템에서 Zswap이 현재 비활성화되어 있는지 확인하세요:
sudo-s
echo0>/sys/module/zswap/parameters/enabledZswap은 ZRAM과 유사하게 모든 리눅스 배포판에 기본적으로 제공되는 대체 RAM 캐시 솔루션입니다. 그러나 ZRAM과 달리 물리적 스왑 파티션에 의존하므로 구형 디스크에서는 느릴 수 있습니다.
우분투 시스템에서 초기 ZRAM 블록 장치를 생성하기 위해 컴퓨터를 재부팅하세요.
팁: 우분투에서 TRIM을 활성화하여 SSD 드라이브의 수명을 연장하는 방법을 알아보세요.
올바른 ZRAM 설정 알기
머신이 다시 작동하게 되면 이제 ZRAM 파티션이 보고되고 있는지 확인하세요:
cat/proc/swaps
스크린샷에서 볼 수 있듯이, 일반적인 스왑 파일과 단일 ZRAM 블록 장치가 공존하고 있습니다. 이 시스템은 4GB의 RAM과 2GB의 ZRAM을 가지고 있으며, 이는 RAM 양의 절반입니다. 그러나 작업 부하에 따라 이 크기를 변경하고 싶을 수 있습니다.
- 멀티미디어 및 비디오 작업을 하는 경우, 이는 압축이 잘 되지 않으므로 ZRAM의 크기를 줄이고 실제 스왑의 크기를 늘리는 것이 좋습니다.
- 대형 데이터베이스나 고도로 압축 가능한 다른 유형의 데이터를 다루는 경우, 그 반대입니다. 이러한 시나리오에서는 ZRAM의 크기를 늘려 컴퓨터의 반응성을 높일 수 있습니다.
또한 ZRAM에서 사용하는 압축 알고리즘과 관련된 조정도 고려할 가치가 있습니다. 기본적으로 LZO 또는 LZO-RLE를 사용하며, 이는 CPU에 가벼운 부담을 줍니다. 그러나 최신 CPU에서는 새로운 ZSTD 알고리즘이 일반적으로 더 나은 압축률을 제공하며, CPU에 대한 부담이 다소 높지만 느껴지지 않습니다. PC가 10년 이하인 경우, 구형 LZO 변형 대신 이 알고리즘을 사용하는 것이 좋습니다.
ZRAM 크기 변경
ZRAM 설정을 변경하려면 “/usr/bin” 폴더에 있는 exec 스크립트를 편집해야 합니다. 터미널에 다음 명령어를 입력하세요:
sudonano/usr/bin/init-zram-swapping“init-zram-swapping” 스크립트를 스크롤하여 mem으로 시작하는 줄을 찾습니다.

이것은 커널이 ZRAM 블록 장치에 할당할 공간의 양을 정의합니다. 기본적으로 시스템의 물리적 메모리의 절반을 예약합니다. “1024”를 “512”로 바꾸어 이를 1/4로 줄일 수 있습니다.

ZRAM이 차지하는 메모리 양을 늘리려면 mem 값을 “1536”으로 설정할 수 있습니다. 이렇게 하면 물리적 메모리의 3/4가 ZRAM에 할당됩니다.

ZRAM 압축 알고리즘 변경
같은 위치에서 ZRAM의 압축 알고리즘도 변경할 수 있습니다. 그렇게 하려면 새 터미널 세션을 열고 ZRAM에 사용할 수 있는 모든 압축 알고리즘을 나열하세요:
cat/sys/block/zram0/comp_algorithm
고급 사용자 정의 ZRAM 구성에서 알고리즘을 혼합하여 사용할 수 있습니다. 그러나 기본값을 사용하는 경우, 모든 ZRAM 파티션은 동일한 알고리즘을 사용합니다.
이전에 편집한 “init-zram-swapping” exec 스크립트로 돌아가세요. 거기에서 다음 줄을 찾습니다:
echo$mem>/sys/block/zram0/disksize이 명령어를 직접 아래에 복사하여 두 개의 인스턴스를 만듭니다.

첫 번째 인스턴스의 줄 시작 부분에 있는 $mem을 “zstd”로 바꾸세요.

줄 끝을 “disksize”에서 “comp_algorithm”으로 변경하세요.

참고: 다른 알고리즘을 사용하려면 위 명령어의 zstd를 cat /sys/block/zram0/comp_algorithm에서 가져온 값 중 하나로 변경하세요.
편집한 “init-zram-swapping” 파일을 저장한 후 컴퓨터를 재시작하세요.
zramctl 명령어를 실행하여 새로운 ZRAM 설정이 작동하는지 확인하세요.

조정된 스왑을 적극적으로 사용할 때 시스템의 성능을 부하 하에 확인하세요. 느리거나 버벅거림이 느껴지면 설정한 값을 줄여야 할 수 있습니다. 반면에, 시스템이 빠르게 작동한다면 아마도 값을 더 늘릴 수 있을 것입니다.
시스템의 ZRAM을 구성하는 것은 우분투 시스템을 최적화하는 첫 번째 단계일 뿐입니다. 우분투에서 직접 리눅스 커널을 컴파일하여 기계에서 최대 성능을 끌어내는 방법을 알아보세요. 한편, 더 강력한 PC를 구축하려는 경우, 리눅스를 위한 PC를 구축할 때 주의해야 할 사항은 다음과 같습니다.
이미지 출처: Liam Briese via Unsplash. 모든 수정 및 스크린샷은 Ramces Red에 의해 작성되었습니다.