Kịch bản sử dụng máy tính để bàn Zswap, Zram, Zcache


11

Tôi đã cố gắng tìm hiểu sự khác biệt trong các trường hợp sử dụng cho Zswap, Zram và Zcache. Lời xin lỗi trước cho câu hỏi dài / hơi chậm chạp. Tôi đã thực hiện một loạt các googling và tôi hiểu rằng zram về cơ bản là một thiết bị khối để trao đổi nén, trong khi zswap nén trong kernel bằng api frontswap. Dường như một ưu điểm của zswap là nó có thể chuyển một số trang sang hoán đổi sao lưu khi chịu áp lực theo cách thức của LRU, trong khi zram không thể làm điều đó (vui lòng xác nhận, không chắc điều này có đúng không).

Vì vậy, đây là câu hỏi của tôi: 1.) Là người dùng máy tính để bàn, sự khác biệt hiệu suất giữa zcache / zswap / zram, đặc biệt là zswap và zram là gì? Ví dụ, có phải tốt hơn / tệ hơn nhiều khi phân mảnh bộ nhớ (loại dẫn đến việc sử dụng bộ nhớ quá mức và lãng phí)?

Câu hỏi thưởng: 2.) Có sự kết hợp lý tưởng nào ở trên (giả sử zram + zswap hoặc zram + zcache) cho hiệu suất của máy tính để bàn (bao gồm khả năng phản hồi của máy tính để bàn, cộng với hành vi hoán đổi tối thiểu gây gián đoạn và quản lý bộ nhớ lành mạnh)?

* Trích dẫn các nguồn được đánh giá rất cao.

Tôi nên nói thêm rằng tôi là một người dùng Linux có kinh nghiệm lâu năm (5 năm) và đã cố gắng thực sự hiểu hệ thống của tôi bao gồm cả nhân hoạt động như thế nào. Tuy nhiên, tôi không phải là lập trình viên và chỉ có kiến ​​thức lập trình rất cơ bản (3 tín chỉ khóa học đại học). Nhưng phải kỹ thuật nếu bạn cần; Tôi sẽ phân tích ý nghĩa của bạn vào thời gian riêng của tôi.

Thông số hệ thống:

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

Không có ý kiến ​​"mua thêm ram", xin vui lòng! Tôi đã tăng tối đa ram trên bo mạch chủ này và có ngân sách nâng cấp $ 0 trong tương lai gần. Tuy nhiên, tôi thích giữ các chương trình sử dụng nhiều bộ nhớ mở (nhiều trình duyệt là khách hàng chính của ram của tôi) vì vậy tôi không ngại trao đổi trong giới hạn suy giảm hiệu suất hợp lý.


Câu trả lời:


7

Cách tốt nhất tôi có thể cố gắng trả lời những câu hỏi đó là nói ba cái đó thực sự là gì.

zRAM

zRAM không gì khác hơn là một thiết bị trao đổi về bản chất. Việc quản lý bộ nhớ sẽ đẩy các trang ra thiết bị trao đổi và zRAM sẽ nén dữ liệu đó, phân bổ bộ nhớ khi cần thiết.

Zswap

Zswap là một không gian trao đổi nén được phân bổ bên trong bởi kernel và không xuất hiện dưới dạng một thiết bị trao đổi. Nó được sử dụng bởi frontswap giống như cách một thiết bị trao đổi có thể được sử dụng, nhưng theo cách hiệu quả hơn.

Zcache

Zcache là tiền đề cho frontswap và Cleancache.

Zcache thay thế zRAM để bạn không thực sự muốn cả hai chiến đấu với tài nguyên, mặc dù có một số thảo luận về cách hai người có thể làm việc tốt với nhau trong hoàn cảnh phù hợp. Cho đến bây giờ tôi sẽ không cố gắng và để các chuyên gia tìm ra điều đó.

Một số bài đọc:
Cleancache 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

Cá nhân, tôi vừa tắt zRAM và kích hoạt Zcache trên tất cả các hệ thống của tôi có kernel mới (zRAM vẫn được bật trên các thiết bị Android).

Về hiệu suất: đó là điều bạn phải tự nhìn vào chính mình. Mọi người đều khác nhau. Tuy nhiên, về mặt lý thuyết, Zcache sẽ có hiệu suất bộ nhớ cao hơn nhiều so với zRAM và nó hoạt động ở hai cấp độ (frontswap và Cleancache), và nó có thể chuyển sang một thiết bị trao đổi khi cần thiết (ví dụ trên ổ cứng). Bạn cũng có thể chọn sử dụng thuật toán nén nào, nếu sử dụng quá nhiều CPU (mà tôi không thể tưởng tượng được).

Cập nhật : Zcache đã bị xóa khỏi kernel 3.11 (hiện tại), do đó zRAM lại trở thành tùy chọn duy nhất trong các kernel mới hơn. https://bugs.launchpad.net/ubfox/+source/linux/+orms/1256503/comments/3 http://git.kernel.org/cgit/linux/kernel/git/urdy/linux-urdy.git / cam kết /? id = 96256460487387d28b8398033928e06eb9e428f7


1
Zswap được kích hoạt trong các hạt nhân mới nhất bằng cách thêm zswap.enabled=1vào dòng lệnh Linux.
Ken Sharp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.