Contents
Giới thiệu
Bạn đã bao giờ thấy hệ thống Linux bị “lag” hoặc có thể bị treo khi mở quá nhiều ứng dụng cùng lúc? Rất có thể nguyên nhân là vì RAM đã đầy. Và để cứu vãn tình hình, Linux sử dụng một cơ chế gọi là Swap — vùng RAM ảo nằm trên ổ đĩa, giúp hệ thống Linux không bị crash khi thiếu bộ nhớ RAM.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu:
-
Swap là gì?
-
Sự khác biệt giữa Swap Partition và Swap File.
-
Cách tạo, quản lý và tối ưu swap trong Linux.
-
Khi nào nên bật/tắt swap?
-
Và một lưu ý quan trọng khi triển khai Kubernetes.
Chúng ta hãy cùng bắt đầu nhé!
Swap là gì?
Swap là một phần dung lượng trên ổ đĩa được Linux dùng làm RAM ảo. Khi RAM đầy, hệ điều hành sẽ chuyển các dữ liệu ít dùng sang swap để nhường RAM cho tiến trình mới.
Điều này giúp:
-
Ngăn hệ thống crash khi workload tăng đột biến.
-
Giữ máy hoạt động ổn định, đặc biệt trên máy có ít RAM.
Tuy nhiên, cần nhớ rằng:
-
RAM nhanh hơn swap hàng chục lần.
-
Vì vậy, swap chỉ là “cứu cánh”, không thể thay thế RAM thật.
Swap Partition vs Swap File
Linux có hai cách để triển khai swap:
-
Swap Partition
-
Được tạo ngay khi cài đặt hệ điều hành.
-
Tốc độ tốt, nhưng cố định, khó thay đổi dung lượng.
-
-
Swap File
-
Là một file trên hệ thống, linh hoạt hơn.
-
Có thể dễ dàng tạo, xóa, resize theo nhu cầu.
-
Trên SSD hiện đại, swap file có hiệu suất gần như ngang với swap partition.
-
Kết luận: Swap file là lựa chọn phù hợp hơn với hầu hết hệ thống hiện nay.
Demo: Tạo Swap File trong Linux
Bây giờ hãy cùng thực hành.
1. Kiểm tra swap hiện tại
Kết quả cho biết hệ thống đang có swap hay chưa, và nó thuộc loại nào.
2. Tạo swap file dung lượng 2GB
3. Đặt quyền cho file (chỉ root mới được đọc/ghi)
4. Định dạng file thành swap có nghĩa là ghi swap header
5. Sau khi xong, chúng ta bật swap này bằng lệnh
6. Kiểm tra lại
Bây giờ chạy lại swapon -s, chúng ta sẽ thấy có cả swap partition và swap file đang được sử dụng, dung lượng swap khả dụng sẽ là tổng cộng của cả hai.
Lúc này, bạn sẽ thấy hệ thống đang dùng cả swap partition và swap file vừa tạo.
7. Kích hoạt tự động sau reboot

Quản lý và Resize Swap
Chúng ta có thể tắt swap tạm thời bằng lệnh:
Và nếu muốn tăng dung lượng swap lên 4GB, chỉnh swap size rồi bật lại :

Kiểm tra lại dung lượng swap:
Để xóa hẳn swap file chạy các lệnh sau:
Tối ưu Swap với Swappiness
Swappiness là tham số quyết định Linux sẽ dùng swap sớm hay muộn.
-
Mặc định: 60 (Linux khá “thích” dùng swap).
-
Gợi ý: đặt 10 để tận dụng RAM tối đa trước khi dùng swap.
Kiểm tra giá trị hiện tại:
Thay đổi tạm thời:
Thay đổi vĩnh viễn:
Khi nào nên bật hoặc tắt Swap?
-
RAM < 2GB: Nên bật swap 1–2 GB để hệ thống sống sót.
-
RAM lớn (8GB+): Dùng swap nhỏ để dự phòng, giảm swappiness.
-
Workload nặng (DB, Kubernetes): Nên tắt swap để tránh lỗi quản lý memory.
Swap chỉ là giải pháp dự phòng, đừng để hệ thống phụ thuộc vào nó.
Swap và Kubernetes (Bonus)
Nếu bạn triển khai Kubernetes, cần lưu ý:
-
Trước đây kubeadm sẽ báo lỗi nếu swap bật.
-
Từ Kubernetes v1.30, có hỗ trợ tính năng NodeSwap (beta), nhưng mặc định vẫn yêu cầu tắt swap.
- Bạn có thể xem cách cài đặt cấu hình K8s, click link: Hướng dẫn từng bước cài đặt & cấu hình Kubernetes trên Ubuntu 24.04 và triển khai ứng dụng – Luu Ho Phuong Blog
Nếu gặp lỗi:
Chỉ cần chạy lệnh này để tắt swap:
Tổng kết
Swap giúp Linux ổn định hơn khi RAM đầy, nhưng không thể thay thế RAM thật.
-
Luôn duy trì một swap nhỏ dự phòng.
-
Theo dõi dung lượng SWAP và RAM với lệnh
free -h. -
Tối ưu swappiness để kiểm soát mức độ sử dụng swap.
-
Với Kubernetes, nhớ tắt swap trừ khi bạn đã cấu hình đúng NodeSwap.
Kết luận
Hy vọng sau bài viết này, bạn đã hiểu rõ hơn về Swap File trong Linux và có thể tự tin quản lý nó trên server của mình. Swap không chỉ là “chỗ dựa tạm thời” mà còn là kỹ năng cần thiết để bạn trở thành một sysadmin có kiến thức nền tảng tốt hơn.
Nếu thấy hữu ích, hãy chia sẻ bài viết này để nhiều người khác cũng biết cách tránh lỗi phổ biến trong Linux nhé!
-
Swap Linux
-
Swap file Linux
-
Swap partition vs swap file
-
Tạo swap file trong Linux
-
Quản lý swap Linux
-
Resize swap file Linux
-
Swappiness Linux
-
Disable swap Kubernetes
-
Linux sysadmin tutorial
-
Understanding swap Linux
#Linux #LinuxAdmin #SwapFile #Sysadmin #DevOps #Kubernetes #LinuxTutorial #ServerManagement #CloudComputing #ITTraining






