Nếu đang sử dụng Linux, bạn có thể nhân RAM khả dụng của mình mà không cần phải mua mô-đun bộ nhớ mới. Zram, zswap và zcache cho phép bạn nén nội dung của RAM PC, thực tế là nó có thể mở rộng. Nhưng cái nào bạn nên sử dụng? Cái nào tốt hơn? Đọc để tìm hiểu.
Lợi ích của việc nén RAM
Nếu bạn đã xem một bài thuyết trình về bảng điều khiển thế hệ tiếp theo của Sony và Microsoft, bạn có thể nhận thấy rằng cả hai công ty đều gây ồn ào về tốc độ lưu trữ của họ. Có một lý do cho tất cả những điều đó:bộ nhớ là nút thắt cổ chai ảnh hưởng nhiều nhất ngay cả trên các PC cao cấp mới nhất.
Mục tiêu cuối cùng của các giải pháp mà chúng tôi thấy ở đây là giảm thiểu lượng dữ liệu được trao đổi giữa RAM của máy tính và hệ thống lưu trữ chậm hơn của máy tính. Điều quan trọng cần ghi nhớ là vì như chúng ta sẽ thấy, đó là yếu tố khác biệt của chúng.
ZRam
Zram là giải pháp nén RAM đơn giản nhất trong Linux hiện nay. Trước đây được gọi là compcache, nó tận dụng khả năng hỗ trợ của Linux cho nhiều thiết bị hoán đổi bằng cách tạo thêm một (hoặc nhiều) trong RAM của máy tính.
Zram hoạt động bằng cách tạo ra một hệ thống phân cấp gồm ba không gian lưu trữ. Nó tạo ra một khối lượng trao đổi nén mới trong RAM, tức là - theo thứ bậc - được đặt giữa RAM và các thiết bị lưu trữ. Sau đó, khi RAM chứa đầy dữ liệu, nó sẽ chuyển phần dư thừa sang vùng hoán đổi nén. Khi nó cũng được lấp đầy, zram bắt đầu di chuyển dữ liệu đến phân vùng hoán đổi trong ổ lưu trữ.
Thiết bị hoán đổi mới này được chỉ định mức độ ưu tiên cao hơn so với các thiết bị nằm trong bộ nhớ thực tế chậm hơn của PC, sẽ được sử dụng trước chúng. Nó cũng dựa vào một trong nhiều thuật toán nén, như LZ4 hoặc LZO, để nhồi nhét nhiều dữ liệu nhất có thể vào thiết bị hoán đổi này.
Các bộ vi xử lý hiện đại đã đạt đến mức có thể nén và giải nén dữ liệu được lưu trữ trong RAM nhanh hơn so với dữ liệu được ghi vào hoặc đọc từ ổ SSD hoặc ổ cứng HDD, với tác động không đáng kể đến hiệu suất của máy tính.
Cần lưu ý rằng zram tự hoạt động mà không cần các thiết bị hoán đổi khác. Vì vậy, bạn có thể, chẳng hạn, sử dụng nó trong các hệ thống nhúng hoặc đĩa CD trực tiếp, vì nó không cần phải được hỗ trợ bởi bộ nhớ thực tế.
ZSwap
Zswap phức tạp hơn zram. Nó cải thiện mối quan hệ giữa RAM máy tính của chúng tôi và các thiết bị lưu trữ chậm hơn bằng cách thêm tính năng nén thông minh tại nơi chúng giao nhau.
Với zswap, RAM được nén và khối lượng hoán đổi đã tồn tại trong thiết bị lưu trữ của máy tính được coi như các nút trong hệ thống lưu trữ thông minh. Zswap cũng chiếm một phần RAM của máy tính nhưng không di chuyển một cách mù quáng mọi thứ không vừa với phần còn lại của RAM rồi cố nén nó lại. Thay vào đó, trước tiên, nó sẽ nén mọi thứ không vừa với RAM thực tế. Nếu dữ liệu được nén, zswap sẽ lưu trữ nó trong RAM. Nếu không, nó sẽ lưu trữ vào giao dịch hoán đổi hiện có.
Bằng cách này, zswap tận dụng tốt hơn RAM có sẵn và hoán đổi không gian vì nó sẽ không làm mất RAM mà nó sử dụng với dữ liệu không thể nén được.
Vì nó dựa trên sự hoán đổi hiện có, zswap tốt hơn cho các bản cài đặt Linux trên mọi PC, đặc biệt là những máy tính có RAM dưới 4GB.
Zcache
Zcache hoạt động song song với hệ thống tmem (“Bộ nhớ siêu việt”) để cung cấp cho nhân Linux một cách linh hoạt hơn để lưu trữ dữ liệu hiện không được sử dụng.
Zcache thêm một lớp quản lý bộ nhớ trong suốt bổ sung trên hạt nhân để nén bất kỳ dữ liệu nào hiện không được sử dụng. Không giống như việc phải quản lý từng byte dữ liệu đơn lẻ, với zcache, hạt nhân Linux có thể lưu trữ toàn bộ các trang dữ liệu vào “nhóm” thông qua giao diện của tmem. Sau đó, chương trình phụ trợ zcache sẽ nén các nhóm dữ liệu này.
Giống như zswap, zcache chỉ giữ dữ liệu nén trong RAM và đẩy các trang không nén đến nơi hoán đổi thực tế, do đó tận dụng tốt nhất cả hai.
Cái nào tốt hơn?
Về lý thuyết, zcache cung cấp giải pháp tốt nhất. Tuy nhiên, điều đó không có nghĩa đó là con đường để đi vì tính thực tế cũng rất quan trọng. Mặc dù có các tính năng nâng cao, zcache không được hỗ trợ rộng rãi. Sự phát triển của nó đã bị đình trệ và nó đã bị xóa khỏi nhân Linux trên phiên bản 3.11. Để sử dụng nó ngay hôm nay, bạn sẽ phải nhảy qua các vòng và kết quả có lẽ sẽ không tốt hơn nhiều so với việc bạn sử dụng zswap.
Mặt khác, zram bị hạn chế hơn vì nó không nhiều hơn một khối lượng ảo được lưu trữ trong RAM và được sử dụng làm không gian hoán đổi. Nó có thể giúp ích cho các hệ thống bị thiếu RAM nhưng về cơ bản hoạt động bằng cách mù quáng lấy mọi thứ từ điểm A và chuyển chúng đến điểm B rồi đến điểm C mà không cần quan tâm xem chúng thực sự là gì.
Điều này làm cho zswap trở thành lựa chọn tốt hơn cho hầu hết người dùng Linux, bất kể phân phối của họ. Để biết cách bạn có thể tận dụng nó, hãy xem hướng dẫn của chúng tôi về zswap.