Swap space được hiểu là vùng đệm lưu trữ dữ liệu tạm thời trên ổ cứng khi dung lượng RAM thực tế không còn đủ để đáp ứng các tiến trình đang chạy. Việc hiểu rõ cơ chế này giúp bạn duy trì sự ổn định của máy chủ, tránh tình trạng treo hệ thống do tràn RAM đột ngột. Trong bài viết này, mình sẽ hướng dẫn bạn cách check swap space Linux chính xác và nhanh chóng nhất.
Những điểm chính
- Định nghĩa swap: Hiểu rõ bản chất, định nghĩa và cơ chế hoạt động của Swap Space để biết vai trò của swap trong việc duy trì sự ổn định của hệ thống.
- Cơ chế hoạt động: Nắm vững quy trình hoán đổi dữ liệu để quản lý tài nguyên máy chủ một cách khoa học và hiệu quả hơn.
- Lý do cần kiểm tra swap: Nhận biết được tại sao việc giám sát swap là cần thiết để chẩn đoán các vấn đề hiệu suất và đưa ra quyết định tối ưu hệ thống kịp thời.
- 6 cách kiểm tra Swap Space: Nắm vững 6 phương pháp hiệu quả để kiểm tra swap, từ các lệnh cơ bản như
swapon,freeđến các công cụ giám sát trực quan nhưhtopvà giao diện đồ họa. - Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề thực tế như sự khác biệt giữa swap file và partition, ảnh hưởng đến SSD, và cách xác định ứng dụng nào đang dùng nhiều swap nhất.
Swap Space là gì?
Swap Space là một vùng lưu trữ nằm trên ổ cứng (HDD hoặc SSD) được hệ điều hành dùng làm bộ nhớ tạm khi RAM vật lý bị đầy. Khi RAM không còn chỗ trống, hệ thống sẽ chuyển các dữ liệu ít dùng từ RAM sang swap, giúp giải phóng bộ nhớ và đảm bảo các chương trình đang chạy không bị gián đoạn, hệ thống vẫn hoạt động ổn định. Khi cần, dữ liệu đó sẽ được đưa ngược lại vào RAM (swap in).

Cơ chế hoạt động của Swap Space
Hệ điều hành quản lý Swap Space dựa trên cơ chế hoán đổi với các bước cơ bản sau:
- Giám sát RAM: Hạt nhân Linux (Kernel) liên tục theo dõi mức độ sử dụng của RAM.
- Di chuyển dữ liệu (Swap Out): Khi RAM bị quá tải, Kernel sẽ xác định các quy trình hoặc dữ liệu ít hoạt động nhất trong RAM và di chuyển chúng sang vùng Swap Space trên ổ cứng.
- Giải phóng RAM: Việc di chuyển này giúp giải phóng không gian trên RAM để dành chỗ cho các ứng dụng hoặc tác vụ quan trọng đang chạy.
- Khôi phục dữ liệu (Swap In): Khi người dùng hoặc hệ thống cần truy cập lại dữ liệu đã bị chuyển sang Swap, Kernel sẽ tải lại dữ liệu đó từ ổ cứng vào RAM.

Vì sao cần kiểm tra swap space trong Linux?
Việc theo dõi dung lượng và trạng thái của Swap Space là nhiệm vụ quan trọng của quản trị viên hệ thống vì những lý do sau:
- Đánh giá hiệu suất hệ thống: Nếu hệ thống sử dụng Swap quá nhiều, máy chủ sẽ bị chậm đi (do tốc độ ổ cứng thấp hơn nhiều so với RAM).
- Ngăn chặn lỗi tràn bộ nhớ: Kiểm tra Swap giúp phát hiện sớm tình trạng thiếu hụt tài nguyên để tránh việc hệ thống tự động tắt các tiến trình quan trọng.
- Quyết định nâng cấp phần cứng: Dữ liệu về việc sử dụng Swap là cơ sở để quyết định xem máy chủ có cần nâng cấp thêm RAM vật lý hay không.

6 cách kiểm tra dung lượng và tình trạng Swap Space trên Linux
Hệ điều hành Linux cung cấp một loạt các công cụ đa dạng, bao gồm cả công cụ dòng lệnh và công cụ đồ họa, cho phép người dùng dễ dàng check swap space Linux và theo dõi tình trạng sử dụng. Dưới đây là 6 cách phổ biến và hiệu quả nhất:
Sử dụng lệnh swapon
swapon là một lệnh trong Linux dùng để kích hoạt bộ nhớ swap trên hệ thống, đồng thời cũng cung cấp một giải pháp nhanh chóng để xem tóm tắt về các khu vực swap đang hoạt động. Để xem danh sách các không gian swap đang được hệ thống sử dụng, bạn có thể dùng lệnh swapon với tùy chọn --show hoặc --summary:
swapon --showHoặc lệnh:
swapon -sumaryKết quả sẽ hiển thị một bảng với các thông tin như tên (Filename), loại (Type), tổng dung lượng (Size), dung lượng đã sử dụng (Used) và mức độ ưu tiên (Priority).

Sử dụng lệnh free
free là một lệnh dùng để hiển thị thông tin bộ nhớ hệ thống, bao gồm: RAM (bộ nhớ vật lý), swap (bộ nhớ ảo), bộ nhớ đã dùng, còn trống, được cache, buffered,…
free
free -h #option -h dùng để hiển thị kết quả cho con người dễ đọc hơn Kết quả trả ra sẽ hiển thị như sau:

Sử dụng file /proc/swaps
/proc/swaps là một file ảo chứa thông tin chi tiết về các không gian swap đang hoạt động. Tương tự như lệnh swapon, /proc/swaps liệt kê tên, loại, kích thước và lượng sử dụng của từng không gian swap.
Bạn sử dụng lệnh cat để đọc nội dung của file này:
cat /proc/swapsKết quả trả ra sẽ hiển thị như sau:

Sử dụng lệnh vmstat
vmstat (Virtual Memory Statistics) là công cụ dòng lệnh Linux cung cấp một báo cáo về các tài nguyên hệ thống, bao gồm swap, bộ nhớ, CPU và hoạt động của đĩa. Lệnh này đặc biệt hữu ích để xem swap đang được sử dụng như thế nào.
Để sử dụng vmstat, trước hết bạn cần thực hiện cài đặt:
- Đối với Ubuntu/Debian:
sudo apt install sysstat- Đối với Centos/RHEL:
sudo yum install sysstatLệnh thực thi như sau:
vmstatSau khi chạy lệnh, bạn sẽ nhận được kết quả hiển thị như sau:

Sử dụng các công cụ giám sát hệ thống
Lệnh top
top là công cụ giám sát phổ biến và mạnh mẽ, được tích hợp sẵn trên hầu hết các hệ thống:
topSau khi chạy lệnh, thông tin về swap được hiển thị ở phần đầu của màn hình:

Lệnh atop
atop cung cấp một cái nhìn tổng quan hơn về hoạt động hệ thống theo thời gian, cho phép phân tích cả dữ liệu lịch sử. Để cài đặt atop lên hệ thống, bạn thực hiện theo các lệnh dưới đây:
- Đối với Centos/RHEL:
sudo yum install epel-release
sudo yum install atop- Đối với Ubuntu/Debian:
sudo apt update
sudo apt install atopBạn chạy lệnh atop như sau:
atopSau khi chạy lệnh atop, bạn sẽ nhận được kết quả hiển thị dưới đây, bao gồm cả thông tin về swap trên hệ thống:

Lệnh htop
htop là một phiên bản cải tiến của top với giao diện thân thiện và có màu sắc. Lệnh này thường hiển thị một thanh trạng thái rõ ràng cho việc sử dụng Swap. Để cài đặt htop, bạn chạy lệnh sau:
- Đối với Centos/RHEL:
sudo yum install epel-release
sudo yum install htop- Đối với Ubuntu/Debian:
sudo apt update
sudo apt install htopSau khi cài đặt xong, bạn tiến hành chạy lệnh này theo cú pháp sau:
htopKết quả hiển thị của lệnh htop trực quan như sau:

Lệnh glances
glances trình bày thông tin một cách tổng quan và đơn giản hóa nhưng đầy đủ thông tin về các tài nguyên hệ thống trên một màn hình duy nhất. Để cài đặt glances, bạn thực hiện các lệnh sau:
- Đối với Ubuntu/Debian:
sudo apt update
sudo apt install glances -y- Đối với trên Centos/RHEL:
sudo yum install epel-release -y
sudo yum install glances -yĐể chạy lệnh glances, bạn thực hiện cú pháp sau:
glancesKết quả hiển thị sau khi chạy lệnh như sau:

Xem bằng giao diện đồ họa
Bạn cũng có thể truy cập vào ứng dụng giám sát hệ thống trên máy của mình để xem thông bộ nhớ Swap. Trong trường hợp này, mình sẽ sử dụng System Monitor:

Trong giao diện phần mềm, bạn sẽ thấy thông tin về Memory và Swap trong mục Resources.

Câu hỏi thường gặp
Swap file và swap partition trên Linux khác gì nhau?
Swap file là một tập tin đặt trên hệ thống file, còn swap partition là một phân vùng riêng biệt trên đĩa. Swap partition thường có hiệu năng ổn định hơn do truy xuất trực tiếp, ít phụ thuộc vào hệ thống file. Tuy nhiên, swap file lại linh hoạt khi cần thay đổi dung lượng hoặc di chuyển.
Nếu hệ thống cần tính linh hoạt hoặc phải mở rộng swap nhiều lần thì nên dùng swap file. Còn nếu bạn cần tốc độ đọc ghi ổn định hoặc bảo mật cao, hãy chọn swap partition.
Swap có ảnh hưởng gì đến tuổi thọ ổ SSD không?
Swap dùng nhiều trên SSD sẽ gây tăng số lần ghi lên ổ, ảnh hưởng tuổi thọ về lâu dài do đặc trưng của bộ nhớ flash. Nếu bắt buộc phải đặt swap trên SSD, nên giảm dung lượng swap, dùng zram/zswap thay thế hoặc bật tính năng TRIM để giảm thiểu tác động, đồng thời theo dõi swap usage để tránh ghi liên tục lên đĩa.
Làm thế nào để xác định ứng dụng nào tiêu thụ nhiều swap nhất trên hệ thống?
Có thể sử dụng lệnh như smem, ps_mem, hoặc kiểm tra qua top, htop để xem cột swap của từng tiến trình. Việc này giúp phát hiện ứng dụng chiếm dụng swap quá nhiều, từ đó xác định nguyên nhân gây đầy swap và tối ưu hiệu suất bằng cách giảm lượng RAM hoặc cấu hình lại các tiến trình.
Hy vọng những cách check swap space Linux mình vừa hướng dẫn ở trên sẽ giúp ích cho quá trình vận hành hệ thống của bạn. Việc giám sát chỉ số này thường xuyên là thao tác quan trọng để đảm bảo tính ổn định cho các ứng dụng đang thực thi. Nếu bạn muốn tìm hiểu sâu hơn về cách quản trị hệ thống Linux, hãy tham khảo các bài viết hướng dẫn dưới đây:




