NỘI DUNG
Dung lượng Swap bao nhiêu là đủ trên Linux?. Đây là câu hỏi rất phổ biến khi sử dụng Linux.
Dung lượng swap nên được đặt như thế nào? Có phải swap nên gấp đôi dung lượng RAM hay chỉ cần bằng một nửa RAM? Nếu hệ thống của bạn có hàng chục GB RAM, liệu swap có còn cần thiết nữa không? Bài viết này sẽ giải đáp chi tiết các câu hỏi đó cho bạn.
Swap là gì? Khi nào swap được sử dụng?
Hệ thống của bạn sử dụng RAM (Random Access Memory) để chạy các ứng dụng. Khi chỉ có một vài ứng dụng đang chạy, RAM sẽ xử lý tốt mọi thứ. Nhưng nếu có quá nhiều ứng dụng chạy cùng lúc hoặc một ứng dụng yêu cầu nhiều RAM, hệ thống sẽ gặp vấn đề.
Khi đó, swap đóng vai trò như “bộ đệm” khi RAM bị cạn kiệt. Swap lấy một phần bộ nhớ từ ổ cứng và cung cấp cho các ứng dụng đang chạy.
Tuy nhiên, có một điều quan trọng cần hiểu: tốc độ truy cập dữ liệu là yếu tố quyết định. RAM truy cập dữ liệu trong nano giây, trong khi ổ SSD truy cập trong micro giây, và ổ HDD truy cập trong mili giây. Điều này có nghĩa là RAM nhanh hơn SSD gấp 1000 lần và nhanh hơn HDD tới 100.000 lần.
Nếu ứng dụng phụ thuộc quá nhiều vào swap, hiệu suất của nó sẽ giảm mạnh, dẫn đến tình trạng “thrashing“. Nói cách khác, một ít swap sẽ hữu ích, nhưng quá nhiều swap thì vô dụng.
Tại sao cần swap?
Dưới đây là một số lý do bạn cần swap:
- RAM dưới 1GB: Nếu hệ thống có ít RAM, swap là bắt buộc vì các ứng dụng sẽ nhanh chóng làm đầy bộ nhớ RAM.
- Ứng dụng nặng: Các ứng dụng như biên tập video hay xử lý đồ họa cần rất nhiều RAM, khi đó swap sẽ giúp hệ thống tránh bị treo.
- Sử dụng chế độ ngủ đông (Hibernate): Nội dung của RAM sẽ được ghi vào swap. Vì vậy, dung lượng swap nên bằng hoặc lớn hơn dung lượng RAM.
- Sự cố bất thường: Swap giúp hệ thống tránh rơi vào tình trạng treo khi một ứng dụng “ngốn” toàn bộ RAM.
Có cần swap khi hệ thống có nhiều RAM không?
Nếu hệ thống của bạn có 32GB hay 64GB RAM, rất có thể swap sẽ không bao giờ được sử dụng. Tuy nhiên, việc phân bổ vài GB swap cũng không có hại gì, đặc biệt khi bạn có hàng trăm GB dung lượng ổ cứng. Swap sẽ đóng vai trò như “phương án dự phòng” khi một chương trình bị lỗi và tiêu thụ quá nhiều RAM.
Có thể chạy Linux mà không cần swap không?
Có thể. Đặc biệt với hệ thống có nhiều RAM. Tuy nhiên, như đã đề cập, một ít swap luôn được khuyến khích.
Ví dụ, trên Ubuntu, hệ thống tự động tạo swap file 2GB ngay cả khi bạn không tạo phân vùng swap lúc cài đặt. Điều này cho thấy swap vẫn đóng vai trò quan trọng.
Dung lượng swap nên đặt bao nhiêu?
Câu hỏi này không có câu trả lời tuyệt đối vì mỗi người và mỗi bản phân phối Linux đều có khuyến nghị khác nhau.
- Red Hat: Khuyến nghị dung lượng swap bằng 20% RAM cho các hệ thống hiện đại (RAM từ 4GB trở lên).
- CentOS:
- RAM dưới 2GB: Swap nên gấp đôi RAM.
- RAM trên 2GB: Swap = Dung lượng RAM + 2GB (Ví dụ: 3GB RAM thì swap sẽ là 5GB).
- Ubuntu
- RAM dưới 1GB: Swap nên bằng hoặc gấp đôi RAM.
- RAM trên 1GB: Swap nên bằng căn bậc hai của RAM và tối đa gấp đôi RAM.
- Nếu sử dụng chế độ ngủ đông (hibernate): Swap = RAM + căn bậc hai của RAM.
Ví dụ bảng sau giúp bạn chọn swap theo khuyến nghị của Ubuntu:
RAM Size | Swap Size (Không Hibernation) | Swap size (Có Hibernation) Ấp dụng cho laptop hoặc máy tính cá nhân |
256MB | 256MB | 256MB |
512MB | 512MB | 1GB |
1GB | 1GB | 2GB |
2GB | 1GB | 3GB |
3GB | 2GB | 5GB |
4GB | 2GB | 6GB |
6GB | 2GB | 8GB |
8GB | 3GB | 11GB |
12GB | 3GB | 15GB |
16GB | 4GB | 20GB |
24GB | 5GB | 29GB |
32GB | 6GB | 38GB |
64GB | 8GB | 72GB |
128GB | 11GB | 139GB |
Kết luận: Swap bao nhiêu là phù hợp?
Câu trả lời tùy thuộc vào nhu cầu và cấu hình của bạn. Trước đây, quy tắc swap = 2 x RAM là phổ biến, nhưng trên các hệ thống hiện đại, bạn không cần phải lãng phí dung lượng ổ cứng như vậy.
Vậy bạn chọn dung lượng swap bao nhiêu trên hệ thống Linux của mình? Hãy chia sẻ ý kiến nhé!
Nguồn được dịch lại từ: https://itsfoss.com/swap-size/