Cleancache 대 zram?


9

여기에 512MB의 RAM이있는 오래된 노트북이 있습니다. 커널 릴리스가 몇 개이므로 zram 을 사용하여 256MB 를 압축 된 램 디스크로 변환 한 다음 스왑으로 사용합니다. 이는 매우 성공적인 것으로 판명되었으며 시스템의 응답 성이 훨씬 뛰어나고 (하드 디스크 지원) 스왑 사용량이 상당히 줄어들어 시스템 속도가 느려졌습니다.

리눅스 3.0부터 커널은 클린 캐시 (cleancache) 를 포함 하는데, zram과 같은 것을 백엔드로 사용하여 페이지 캐시에서 페이지를 투명하게 압축해야한다. 내가 볼 수있는 한 이것은 zram다릅니다 .

노트북에서 둘 다 활성화해야합니까? 아니면 cleancache가 실제로 zram 솔루션을 대체 합니까?

편집 : 나는이 발견 젠투 포럼 링크 가 나는 또한 활성화해야 것 같다 경우, CONFIG_ZCACHE다음 만드는 cleancache 사용 zram 내가 전에 한 것과 유사한 무언가를 얻을 수 있습니다. 따라서이 모든 것을 활성화하고 나중에 zram을 명시 적으로 사용하지 않는 것 같습니다 . 아무도 이것을 확인할 수 있습니까?

답변:


9

Zram은 압축 된 램이 지원하는 블록 장치를 만듭니다. 해당 블록 장치를 스왑에 사용할 수 있습니다. 일반적으로 메모리가 부족하면 먼저 캐시가 삭제되고 대부분의 캐시가 해제되고 메모리가 여전히 꽉 찬 후에 만 ​​시스템 스왑이 시작됩니다.

CleanCache를 사용하면 페이지 캐시의 페이지를 하이퍼 바이저가 메모리를 관리하고 여러 VM 게스트간에 공유하는 xen tmem과 같은 백엔드로 마이그레이션 할 수 있습니다. 이것의 목표는 여러 VM 게스트가 동일한 데이터를 캐시하는 대신 자체 캐시를 갖는 대신 동일한 램을 사용하여 동일한 데이터를 캐싱 할 수 있도록하는 것입니다.

ZCache는 또 다른 CleanCache 백엔드입니다. 보유 할 메모리를 하이퍼 바이저로 전달하는 대신 (Xen VM 환경을 사용하는 경우에만 적용됨) Zram과 유사한 램으로 압축 된 캐시 페이지를 저장합니다. 차이점은 ZCache는 캐시 페이지를 투명하게 저장하지만 Zram은 스왑에 사용할 수있는 블록 장치를 생성한다는 것입니다.

메모리가 부족한 응용 프로그램이있는 경우이를 지원하기 위해 스왑 공간이 필요하므로 zram을 사용하고 싶을 것입니다 (아마도 swappiness 값이 매우 높음). CleanCache는 캐시 페이지 만 압축하기 때문입니다. 어플리케이션 메모리는 스왑으로 보내 져야합니다. 응용 프로그램에서 모든 메모리를 사용하지 않는 경우 ZCache 백엔드와 함께 CleanCache를 사용하여 디스크 캐시를 압축하여 디스크 캐싱에 남은 메모리를보다 효과적으로 사용할 수 있습니다. 두 기술을 혼합하여 사용할 수도 있습니다.


캐시 페이지는 응용 프로그램 메모리가 아닌 디스크 캐싱 전용입니다. 이것은 나에게 분명하지 않았다.
lytenyn

7

위의 답변 외에도 https://lwn.net/Articles/454795 에서 기술에 대한 자세한 설명을 참조 하십시오 .

내가 이해 한 바에 따르면 zramfrontswap 으로 대체 될 것인데 , 아직 주 커널에는 없지만 고정 스왑 크기를 구성 할 필요가 없다는 장점이 있습니다. 이것은 쉽게 둘 수 있도록 할 것입니다 cleancachefrontswap (대신 zramcleancache 에 사용되는 메모리, zram는 사용할 수 없습니다 cleancache을 ).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.