Tăng swap Ubuntu là việc mở rộng hoặc thêm dung lượng swap (RAM ảo) giúp hệ thống sử dụng ổ cứng làm bộ nhớ dự phòng khi RAM vật lý bị đầy. Trong bài viết này, mình sẽ cùng bạn tìm hiểu quy trình các bước tạo, kích hoạt và cấu hình để tăng swap vĩnh viễn một cách nhanh chóng và hiệu quả.
Những điểm chính
- Định nghĩa Swap: Hiểu rõ khái niệm Swap và vai trò của nó như một bộ nhớ ảo, giúp bạn nắm bắt được mục đích sử dụng trước khi thực hiện.
- Cách tăng Swap Ubuntu: Được hướng dẫn chi tiết qua 2 cách để tạo, kích hoạt và cấu hình Swap vĩnh viễn một cách an toàn và hiệu quả.
- Giải đáp thắc mắc (FAQ): Tìm được câu trả lời cho các vấn đề thực tế như nên tạo Swap bao nhiêu là đủ, cách xóa Swap và ảnh hưởng của nó đến tuổi thọ SSD.
Swap là gì?
Swap là một không gian trên ổ đĩa được hệ điều hành sử dụng khi bộ nhớ vật lý RAM đã hết chỗ hoặc cần giải phóng để phục vụ các tác vụ khác. Cơ chế này cho phép hệ thống xử lý nhiều ứng dụng hơn so với dung lượng RAM vật lý cho phép, tuy nhiên điều này đi kèm với sự đánh đổi về hiệu suất, vì tốc độ truy cập dữ liệu trên ổ cứng chậm hơn đáng kể so với RAM.

Trên Ubuntu, có hai phương pháp chính để tăng dung lượng swap:
- Tạo một tệp swap mới: Đây là phương pháp được khuyến nghị vì tính an toàn, đơn giản và linh hoạt.
- Mở rộng phân vùng swap: Phương pháp này phức tạp hơn và có rủi ro mất dữ liệu nếu không thực hiện cẩn thận.
Cách 1 – Tăng Swap Ubuntu bằng cách tạo file swap mới
Bước 1: Chuẩn bị hệ thống trước khi cấu hình Swap
Trước khi bắt đầu, chúng ta cần thực hiện một vài bước kiểm tra nhanh để đảm bảo mọi thứ sẵn sàng.
1. Kiểm tra trạng thái Swap hiện tại
Để xem hệ thống của bạn đã có Swap hay chưa, hãy mở terminal và chạy lệnh sau:
sudo swapon --showNếu lệnh này không trả về kết quả nào, nghĩa là hệ thống của bạn chưa có Swap. Bạn cũng có thể dùng lệnh free -h để kiểm tra tổng quan bộ nhớ:
free -h
Nếu dòng Swap hiển thị toàn số 0, điều đó xác nhận rằng Swap chưa được kích hoạt.
2. Kiểm tra dung lượng ổ đĩa trống
Bạn cần đảm bảo ổ cứng còn đủ dung lượng trống để tạo swap file. Để kiểm tra, bạn chạy lệnh df -h:
df -hBạn tìm đến dòng có Mounted on là / (thường là phân vùng gốc của hệ thống) và xem cột Avail. Con số này cho bạn biết dung lượng còn trống. Trước khi tạo một swap file 4GB, bạn hãy chắc chắn rằng ổ đĩa còn trống ít nhất 4GB.

3. Quyền root
Tất cả các lệnh cấu hình hệ thống dưới đây đều yêu cầu quyền quản trị viên cao nhất (root). Do đó, bạn cần thêm sudo vào trước mỗi lệnh. Đây là yêu cầu bắt buộc vì việc thay đổi Swap là một thao tác can thiệp sâu vào cấu hình hệ điều hành.
Bước 2: Tạo Swap File mới
Đầu tiên, bạn sẽ tạo một file có kích thước 2GB để làm swap. Bạn nên dùng fallocate vì lệnh này tạo file gần như ngay lập tức, hiệu quả hơn nhiều so với lệnh dd truyền thống.
sudo fallocate -l 2G /swapfileTrong đó:
-l 2G: Chỉ định kích thước file là 2 Gigabytes./swapfile: Là tên và vị trí của file swap.
Bạn có thể kiểm tra lại bằng lệnh ls -lh /swapfile để xác nhận file đã được tạo với đúng kích thước.

Nếu fallocate không có sẵn, bạn có thể dùng dd, thay thế dung lượng 1G theo nhu cầu của bạn:
sudo dd if=/dev/zero of=/swapfile bs=1G count=1Bước 3: Thiết lập quyền truy cập cho Swap File
Vì swap file có thể chứa dữ liệu quan trọng đã từng nằm trong RAM nên bạn cần giới hạn quyền truy cập, chỉ cho phép root đọc và ghi vào file này.
sudo chmod 600 /swapfileTham số 600 có nghĩa là chỉ chủ sở hữu (root) mới có quyền đọc và ghi, những người dùng khác hoàn toàn không có quyền truy cập.
Bước 4: Đánh dấu file thành Swap Area
File vừa tạo chỉ là một khối dữ liệu trống. Bây giờ, bạn cần định dạng file để hệ thống hiểu rằng đây là một vùng swap.
sudo mkswap /swapfileLệnh này sẽ thiết lập file thành một không gian swap và trả về một mã định danh duy nhất (UUID).

Bước 5: Kích hoạt Swap File
Sau khi đã chuẩn bị xong, bạn hãy kích hoạt swap file để hệ thống có thể bắt đầu sử dụng:
sudo swapon /swapfileĐể xác nhận, bạn hãy kiểm tra lại bằng lệnh swapon --show hoặc free -h. Bạn sẽ thấy dung lượng Swap đã được tăng lên.

Bước 6: Cấu hình Swap vĩnh viễn sau khi khởi động lại
Các bước trên chỉ kích hoạt Swap cho phiên làm việc hiện tại. Nếu bạn khởi động lại máy chủ, Swap sẽ bị mất. Để cấu hình vĩnh viễn, bạn cần thêm vào file dòng /etc/fstab.
Lưu ý
Trước khi chỉnh sửa, hãy tạo một bản sao lưu của file này để phòng trường hợp xảy ra lỗi bằng lệnh sudo cp /etc/fstab /etc/fstab.bak.
Tiếp theo, bạn mở file /etc/fstab bằng một trình soạn thảo văn bản như nano:
sudo nano /etc/fstabBạn thêm dòng sau vào cuối file:
/swapfile none swap sw 0 0Cuối cùng, bạn lưu lại thay đổi và thoát khỏi trình soạn thảo. Bây giờ, swap file của bạn sẽ tự động được kích hoạt mỗi khi hệ thống khởi động.

Cách 2: Mở rộng phân vùng Swap hiện có để tăng swap Ubuntu
Phương pháp này chỉ nên được sử dụng khi bạn có lý do cụ thể để dùng phân vùng riêng và đã quen với việc quản lý phân vùng ổ đĩa.
Lưu ý
Phương pháp này phức tạp và có rủi ro mất dữ liệu cao. Luôn sao lưu toàn bộ dữ liệu quan trọng trước khi thực hiện các thao tác thay đổi kích thước phân vùng.
Đầu tiên bạn tắt swap hiện tại bằng lệnh:
sudo swapoff /dev/your_swap_partitionTiếp đó, bạn sử dụng các công cụ như GParted (giao diện đồ họa) hoặc fdisk, parted (dòng lệnh) để xóa phân vùng swap hiện tại và tạo một phân vùng mới lớn hơn. Quá trình này thường yêu cầu điều chỉnh kích thước các phân vùng liền kề.
Sau khi thay đổi kích thước, bạn cần định dạng lại phân vùng swap và kích hoạt lại swap bằng các lệnh sau (Thay /dev/your_swap_partition bằng tên phân vùng swap mới của bạn)..
sudo mkswap /dev/your_swap_partition
sudo swapon /dev/your_swap_partitionCuối cùng bạn chỉnh sửa tệp fstab với UUID của phân vùng swap mới để nó được tự động nhận sau khi khởi động.
Câu hỏi thường gặp
Kích thước Swap bao nhiêu là đủ?
Kích thước Swap phụ thuộc vào khối lượng công việc thực tế trên máy chủ của bạn, dưới đây là gợi ý mà bạn có thể tham khảo:
– RAM ≤ 2GB: Dung lượng Swap = 2 lần dung lượng RAM.
– RAM từ 2GB đến 8GB: Dung lượng Swap = dung lượng RAM.
– RAM > 8GB: Dung lượng Swap nên là 4GB hoặc 8GB, tùy thuộc vào ứng dụng.
Làm thế nào để vô hiệu hóa/xóa Swap File?
Để gỡ bỏ swap file, bạn cần thực hiện ngược lại quy trình tạo:
– Vô hiệu hóa swap: sudo swapoff /swapfile
– Xóa dòng cấu hình trong file /etc/fstab.
– Xóa file vật lý: sudo rm /swapfile
Sử dụng Swap có làm giảm tuổi thọ SSD không?
Có, vì swap gây ra nhiều thao tác ghi dữ liệu lên ổ đĩa. Tuy nhiên, với các ổ SSD hiện đại có độ bền rất cao, tác động này không còn là vấn đề lớn nếu bạn chỉ sử dụng swap ở mức độ vừa phải. Việc tối ưu swappiness xuống giá trị thấp là cách tốt nhất để bảo vệ SSD.
Làm thế nào để biết hệ thống đang sử dụng Swap quá mức?
Bạn có thể dùng hai lệnh sau để giám sát:
– free -h: Bạn theo dõi cột used của dòng Swap, nếu con số này liên tục cao, đó là một dấu hiệu hệ thống đang sử dụng Swap quá mức.
– vmstat 1: Bạn theo dõi cột si (swap-in) và so (swap-out). Nếu hai cột này liên tục hiển thị các giá trị khác 0, điều đó có nghĩa là hệ thống đang phải đọc/ghi swap liên tục, đây là dấu hiệu rõ ràng của việc thiếu RAM.
Việc tăng Swap Ubuntu đúng cách không chỉ giúp hạn chế tình trạng hết RAM bất ngờ, mà còn đảm bảo hệ thống vận hành ổn định, tránh các lỗi phát sinh do thiếu tài nguyên. Nếu nhu cầu sử dụng ngày càng lớn, bạn hãy cân nhắc nâng cấp phần cứng để hệ thống luôn đạt hiệu suất tối ưu và bền vững. Nếu bạn đang tìm kiếm các nội dung chuyên sâu hơn về quản trị hệ thống Linux thì có thể tham khảo một số bài viết dưới đây của mình:




