Tối ưu hóa RAM trên Linux: Hướng dẫn kích hoạt ZRAM và nâng cấp lên thuật toán nén Zstd
Giá linh kiện RAM đang tăng cao khiến việc nâng cấp trở nên đắt đỏ, nhưng ZRAM là giải pháp phần mềm hiệu quả để giải quyết vấn đề này. Bài viết dưới đây sẽ hướng dẫn bạn cách thay thế công cụ zram-config cũ kỹ bằng zram-tools hiện đại, giúp tận dụng thuật toán nén Zstd mạnh mẽ hơn trên các bản phân phối Linux như Ubuntu.

Trong bối cảnh giá thành bộ nhớ RAM đang leo thang và trở nên khó kiểm soát, việc tối ưu hóa tài nguyên hệ thống hiện tại càng trở nên quan trọng hơn bao giờ hết. Đối với người dùng Linux, ZRAM là một giải pháp tuyệt vời giúp cải thiện hiệu suất mà không cần phải chi tiền nâng cấp phần cứng, hoặc giúp tiết kiệm chi phí khi mua các máy tính bảng nhúng (SBC) bằng cách chọn cấu hình RAM thấp hơn.
ZRAM và thanh nén RAM
Tôi từng có dịp viết về chủ đề này vào năm 2018 khi kích hoạt ZRAM trên ODROID-XU4Q bằng công cụ zram-config, và cũng áp dụng tương tự trên laptop Ubuntu của mình thời điểm đó. Tuy nhiên, gần đây, tôi gặp tình trạng Firefox thường xuyên bị sập do hết bộ nhớ trên hệ thống có 16GB RAM. Bản phát hành Linux 7.0 với một số thay đổi liên quan đã nhắc nhở tôi về ZRAM, khiến tôi quyết định kiểm tra lại cấu hình swap trên laptop chạy Ubuntu 24.04 của mình.
Kiểm tra cấu hình hiện tại
Khi chạy lệnh kiểm tra, tôi nhận thấy hệ thống vẫn đang sử dụng thuật toán nén lzo-rle cũ kỹ thông qua gói zram-config. Mặc dù vẫn hoạt động, nhưng lzo không còn là thuật toán nén hiệu quả nhất hiện nay. Tôi biết rằng các hệ thống khác đang sử dụng Zstandard (zstd) để đạt tỷ lệ nén tốt hơn.
Cấu hình ZRAM trên laptop Ubuntu
Vì zram-config được coi là giải pháp cũ và hiện đã được thay thế bằng zram-tools, tôi quyết định thực hiện việc nâng cấp.
Quy trình chuyển đổi sang zram-tools
Nếu bạn chưa từng bật ZRAM, bạn có thể bỏ qua bước gỡ bỏ. Tuy nhiên, trong trường hợp của tôi, tôi cần tắt swap và xóa gói cũ:
sudo swapoff -a
sudo swapoff /dev/zram0 2>/dev/null || true
echo 1 | sudo tee /sys/block/zram0/reset 2>/dev/null || true
sudo modprobe -r zram
sudo apt purge --autoremove zram-config
Sau khi hoàn tất việc dọn dẹp, tôi cài đặt công cụ mới:
sudo apt install zram-tools
Cấu hình tối ưu với thuật toán Zstd
Tiếp theo, tôi chỉnh sửa file cấu hình /etc/default/zramswap để tối ưu hóa hiệu suất:
# Compression algorithm selection
ALGO=zstd
# Specifies the amount of RAM that should be used for zram
# based on a percentage the total amount of available memory
# This takes precedence and overrides SIZE below
PERCENT=75
...
# Specifies the priority for the swap devices, see swapon(2)
# for more details. Higher number = higher priority
# This should probably be higher than hdd/ssd swaps.
PRIORITY=100
Để đảm bảo an toàn, bạn nên kiểm tra xem hạt nhân (kernel) của mình có hỗ trợ zstd hay không thông qua lệnh cat /sys/block/zram0/comp_algorithm. Sau đó, khởi động lại dịch vụ với các tham số mới:
sudo systemctl start zramswap.service
Kết quả và kiểm tra
Sau khi áp dụng thay đổi, việc kiểm tra lại cho thấy kết quả rất khả quan. ZRAM hiện đang sử dụng thuật toán zstd, dung lượng ảo tăng lên đáng kể (lên tới 11.4GB so với 7.6GB trước đó) và tỷ lệ nén tốt hơn. File swap trên ổ NVMe SSD của tôi không còn được sử dụng nữa, giúp hệ thống vận hành mượt mà hơn.
Cuối cùng, tôi cũng kiểm tra trên Raspberry Pi 5 có 2GB RAM và vui mừng khi thấy rằng ZRAM đã được bật mặc định trên Raspberry Pi OS với thuật toán zstd. File cấu hình cho thiết bị này nằm tại /etc/rpi/swap.conf với định dạng khác biệt một chút.
Nếu bạn đang sử dụng hệ điều hành khác trên bất kỳ máy tính bảng nhúng nào, việc kiểm tra và kích hoạt ZRAM (hoặc zswap) là một bước được khuyến khích mạnh mẽ để tận dụng tối đa tài nguyên hệ thống.


