Zswap, Zram, Zcache 데스크탑 사용 시나리오

Zswap, Zram, Zcache 데스크탑 사용 시나리오

나는 그 차이점을 이해하려고 노력해 왔습니다.Zswap, Zram 및 Zcache와 함께 작동합니다. 길고 약간 엉성한 질문에 대해 미리 죄송합니다. 저는 인터넷 검색을 많이 했고 zram이 기본적으로 압축 스왑을 위한 블록 장치인 반면 zswap은 frontswap API를 사용하여 커널에서 압축을 수행한다는 것을 알게 되었습니다. zswap의 한 가지 장점은 압력이 가해지는 상황에서 일부 페이지를 LRU 방식으로 폴백 스왑 영역으로 이동할 수 있다는 점인 것 같습니다. 이는 zram이 할 수 없는 일입니다(사실인지 확실하지 않으니 확인해 주시기 바랍니다).

제 질문은 다음과 같습니다. 1.) 데스크톱 사용자로서 zcache/zswap/zram, 특히 zswap과 zram의 성능 차이는 무엇입니까? 예를 들어, 메모리 조각화(메모리 남용 및 낭비를 초래하는 종류)가 더 좋나요/나쁠까요?

보너스 질문: 2.) 데스크탑 성능(데스크탑 응답성, 방해를 최소화하는 스왑 동작 및 건전한 메모리 관리 포함)을 위한 위 항목(예: zram+zswap 또는 zram+zcache)의 이상적인 조합이 있습니까?

*출처를 인용해 주셔서 감사합니다.

나는 숙련된 Linux 사용자(5년)이며 내 시스템(커널 포함)이 어떻게 작동하는지 실제로 이해하려고 노력하고 있다는 점을 덧붙여야 합니다. 그러나 저는 프로그래머가 아니며 프로그래밍에 대한 아주 기본적인 지식만 가지고 있습니다(대학 과정 3학점). 하지만 필요하다면 기술적으로 설명해주세요. 시간이 나면 무슨 뜻인지 분석해 보겠습니다.

시스템 사양:

Linux Mint 15
Processor:Core 2 Quad 6600 (2.4ghz)
Ram: 8G
linux kernel: liquorix 3.11 series
Storage: 128 GB SSD, 1TB HDD 5400rpm

"RAM 추가 구매" 댓글을 게시하지 마세요! 저는 이 마더보드의 메모리를 최대한 활용했으며 가까운 미래에 업그레이드를 위한 예산이 0달러입니다. 그러나 나는 메모리 집약적인 프로그램을 열어 두는 것을 좋아하므로(여러 브라우저가 나의 주요 메모리 소비자입니다) 성능 저하의 합리적인 한도 내에서 교체하는 것을 꺼리지 않습니다.

답변1

제가 이 질문에 대답할 수 있는 가장 좋은 방법은 이 세 가지 질문이 실제로 무엇인지 말하는 것입니다.

메모리 제로

zRAM은 본질적으로 스왑 장치에 지나지 않습니다. 메모리 관리는 페이지를 스왑 장치로 푸시하고 zRAM은 해당 데이터를 압축하고 필요에 따라 메모리를 할당합니다.

제로 교환

Zswap은 커널에 의해 내부적으로 할당되는 압축된 스왑 공간이며 스왑 장치로 표시되지 않습니다. frontswap은 이를 스왑 장치와 동일한 방식으로 사용하지만 더 효율적인 방식으로 사용합니다.

Z 캐시

Zcache는 frontswap 및 cleancache의 프런트엔드입니다.

Zcache는 zRAM을 대체하므로 두 가지가 리소스를 놓고 경쟁하는 것을 원하지 않습니다. 하지만 올바른 상황에서 두 가지가 어떻게 잘 작동할 수 있는지에 대한 논의가 있습니다. 이제 더 이상 노력하지 않고 전문가에게 이 문제를 해결하도록 맡길 것입니다.

일부 읽기:
클린캐시 vs. zram?
https://lwn.net/Articles/454795/
https://www.kernel.org/doc/Documentation/vm/zswap.txt
http://www.zeropoint.com/Support/ZCache/ZCachePro/ZCacheAdvantages.html

개인적으로 저는 zRAM을 비활성화하고 새로운 커널이 있는 모든 시스템에서 Zcache를 활성화했습니다(zRAM은 Android 장치에서 여전히 활성화되어 있습니다).

성능에 관해서는: 그것은 당신이 스스로 살펴보아야 할 것입니다. 모두가 다릅니다. 그러나 이론적으로 Zcache는 zRAM보다 메모리 효율성이 훨씬 뛰어나고 두 가지 수준(프론트스왑 및 클린캐시)에서 작동하며 필요에 따라 장치(예: 하드 드라이브)를 스왑하도록 페이징할 수 있습니다. CPU를 너무 많이 사용하는 경우 사용할 압축 알고리즘을 선택할 수도 있습니다(그렇게 될 것이라고는 상상할 수 없습니다).

고쳐 쓰다: Zcache는 (현재) 3.11 커널에서 제거되었으므로 zRAM은 다시 한번 최신 커널의 유일한 옵션입니다. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1256503/comments/3 http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=96256460487387d28b8398033928e06eb9e428f7

관련 정보