Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Phân Vùng Swap Trên Linux: Tất Cả Những Gì Bạn Cần Biết

Hầu hết cài đặt Linux khuyên nên tạo phân vùng swap. Điều này lạ với người dùng Windows quen với một phân vùng duy nhất cho OS.

Swap làm gì? Có cần thiết không? Kích thước bao nhiêu phù hợp? Câu trả lời đúng có thể cải thiện hiệu suất hệ thống đáng kể.

Chức Năng Của Phân Vùng Swap Linux

Swap đóng vai trò "vùng tràn" cho RAM. Khi RAM đầy, ứng dụng mới chạy trên swap thay vì RAM.

Nhưng swap không thay thế RAM. RAM nhanh hơn ổ cứng rất nhiều (HDD, SSD, ngay cả NVMe). Dùng swap làm chậm hệ thống và tăng hao mòn ổ SSD.

Gần giống Windows pagefile nhưng khác biệt về kỹ thuật.

Ưu Tiên (Prioritization)

Swap giúp chuyển dữ liệu ít dùng từ RAM sang ổ cứng, nhường chỗ cho dữ liệu quan trọng. Ngưỡng "ít dùng" do swappiness quyết định (0-100):

  • Swappiness cao -> dễ chuyển sang swap hơn
  • Swappiness thấp -> giữ dữ liệu trong RAM lâu hơn

Ngủ Đông (Hibernation)

Swap lưu nội dung RAM khi ngủ đông. Không có swap = không thể ngủ đông trên Linux. Tuy nhiên tính năng này ít dùng.

Bạn Có Cần Phân Vùng Swap?

Không bắt buộc! Linux chạy tốt mà không cần swap. Xét ưu/nhược điểm:

Khi Swap Không Giúp ích

  • Chiếm dung lượng ổ cứng cố định (không co giãn động)
  • Sử dụng swap nặng làm hao mòn ổ chính
  • Trường hợp xấu: Laptop cũ 2GB RAM + HDD 5400rpm. RAM đầy -> tràn swap -> HDD chai -> máy lag cực độ -> phải reboot để dọn swap.

Khi Không Có Swap

Rủi ro: Giao diện bị treo khi hết RAM, buộc force quit, mất dữ liệu. Cân nhắc: 4GB dung lượng cho swap có đáng giá không?

Khuyến NghỊ Về Swap Linux

  • Cần ngủ đông: Swap = RAM + 10-25% (dự phòng dữ liệu đã ở swap).
  • Tăng hiệu suất nhẹ (HDD 7200rpm trở lên): Swap kích thước tùy ý, không quá lớn.
  • Đôi khi chạy app nặng cần RAM thêm: Swap làm "bình an tâm", không cần bằng RAM.
  • HDD 5400rpm: Không nên tạo swap do bottleneck. Nếu bắt buộc, tạo swap nhỏ và giảm swappiness mạnh (ví dụ 10-20).

Thay Đổi Giá Trị Swappiness

File cấu hình: /proc/sys/vm/swappiness (chỉ một số). Chỉnh sửa bằng editor bất kỳ với quyền root:

sudo gedit /proc/sys/vm/swappiness

Hoặc lệnh nhanh (giá trị 0-100):

sudo sysctl vm.swappiness=20

Giá trị 20: bắt đầu swap khi RAM dùng 80%. Mặc định Ubuntu 60: swap khi RAM dùng 40%.

Kiểm tra:

cat /proc/sys/vm/swappiness

Kết Luận

Swap có thể cải thiện hoặc làm giảm hiệu suất. Hiểu rõ bản chất swap giúp quyết định phù hợp. Nhớ rằng quản lý RAM phức tạp hơn chỉ có RAM và swap - hãy tìm hiểu cách Linux quản lý RAM.