Cleancache vs zram?


9

Tôi có một máy tính xách tay cũ ở đây chỉ với 512 MB RAM. Vì một vài bản phát hành kernel, tôi đang sử dụng zram để chuyển đổi 256 MB của nó thành một ramdisk được nén, sau đó được sử dụng làm trao đổi. Điều này đã được chứng minh là rất thành công và hệ thống phản ứng nhanh hơn nhiều, việc sử dụng trao đổi (được hỗ trợ bằng đĩa cứng) đã giảm đáng kể, điều này làm chậm hệ thống trước đó.

Kể từ linux 3.0, kernel cũng bao gồm Cleancache , sử dụng cái gì đó như zram làm phụ trợ được cho là nén trong suốt các trang từ bộ đệm của trang. Theo như tôi có thể thấy điều này khác với zram .

Tôi có nên kích hoạt cả hai trên máy tính xách tay của tôi? Hay Cleancache thực sự thay thế giải pháp zram ?

Chỉnh sửa: Tôi đã tìm thấy liên kết diễn đàn gentoo này , nơi dường như tôi cũng phải kích hoạt CONFIG_ZCACHE, sau đó làm cho Cleancache sử dụng zram để có được một cái gì đó tương tự như những gì tôi có trước đây. Vì vậy, có vẻ như tôi kích hoạt tất cả những thứ này và không sử dụng zram một cách rõ ràng sau đó. Bất cứ ai có thể xác nhận điều này?

Câu trả lời:


9

Zram tạo ra một thiết bị khối được hỗ trợ bởi ram nén. Bạn có thể sử dụng thiết bị khối đó để trao đổi. Thông thường áp lực bộ nhớ trước tiên dẫn đến việc bộ nhớ cache bị loại bỏ và chỉ sau khi phần lớn bộ nhớ cache đã được giải phóng và bộ nhớ vẫn còn chặt thì hệ thống mới bắt đầu hoán đổi.

CleanCache cho phép các trang từ bộ đệm trang được di chuyển sang mặt sau, chẳng hạn như xen tmem, bộ nhớ được quản lý bởi bộ ảo hóa và được chia sẻ giữa nhiều khách VM. Mục tiêu của việc này là cho phép nhiều khách VM lưu vào cùng một dữ liệu bằng cách sử dụng cùng một ram, thay vì mỗi người có bộ đệm riêng với bản sao của cùng một dữ liệu.

ZCache là một kết thúc khác của CleanCache. Thay vì chuyển bộ nhớ đến bộ ảo hóa để giữ (chỉ áp dụng nếu bạn đang sử dụng môi trường Xen VM), nó lưu trữ các trang bộ đệm được nén trong ram, tương tự như Zram. Sự khác biệt là ZCache lưu trữ trong suốt các trang bộ nhớ cache, nhưng Zram tạo ra một thiết bị khối mà bạn có thể sử dụng để trao đổi.

Nếu bạn có các ứng dụng đói bộ nhớ, thì bạn sẽ cần dung lượng trao đổi để hỗ trợ chúng, vì vậy bạn vẫn sẽ muốn sử dụng zram (có thể có giá trị trao đổi rất cao). Điều này là do CleanCache chỉ nén các trang bộ đệm; bộ nhớ ứng dụng phải được gửi để trao đổi. Nếu bạn không sử dụng tất cả bộ nhớ trên các ứng dụng, thì bạn có thể sử dụng CleanCache với phụ trợ ZCache để sử dụng hiệu quả hơn bộ nhớ còn lại để lưu vào bộ đệm đĩa bằng cách nén bộ đệm của đĩa. Bạn thậm chí có thể sử dụng kết hợp cả hai kỹ thuật.


OK, cảm ơn bạn, vì vậy các trang bộ đệm chỉ dành cho bộ nhớ đệm đĩa, không dành cho bộ nhớ ứng dụng. Điều này không rõ ràng với tôi.
lytenyn

7

Ngoài ra, ngoài câu trả lời trên, hãy xem https://lwn.net/Articles/454795 để được giải thích chi tiết về công nghệ.

Theo những gì tôi hiểu, zram sẽ được thay thế bởi frontswap , chưa có trong kernel dòng chính nhưng có ưu điểm là không có kích thước hoán đổi cố định phải được cấu hình. Điều này sẽ giúp bạn dễ dàng kích hoạt cả Cleancachefrontswap (thay vì zramCleancache , trong đó bộ nhớ được sử dụng cho zram không thể được sử dụng cho Cleancache ).

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.