Hướng Dẫn Cài Đặt Và Cấu Hình Swap Trên Máy Chủ Linux

huong-dan-cai-dat-va-cau-hinh-swap-tren-may-chu-linux
Giới thiệu

Swap là không gian trên đĩa cứng được sử dụng khi bộ nhớ vật lý (RAM) của hệ thống đầy. Khi hệ thống Linux hết RAM, các trang bộ nhớ không được sử dụng thường xuyên có thể được di chuyển từ RAM vào không gian swap để giải phóng RAM cho các tiến trình hiện tại. Điều này giúp hệ thống tránh bị “out of memory” và duy trì hoạt động.

Có 2 loại swap:

  • Swap Partition: Một phân vùng riêng biệt trên đĩa cứng chỉ dành riêng cho swap.
  • Swap File: Một tệp đặc biệt trên hệ thống tệp của bạn được sử dụng làm không gian swap.

-> Khi hệ thống Linux cần thêm bộ nhớ nhưng RAM đã đầy, kernel sẽ di chuyển một số dữ liệu không sử dụng nhiều từ RAM sang không gian swap. Khi dữ liệu đó cần thiết trở lại, nó sẽ được chuyển lại vào RAM, và có thể di chuyển dữ liệu khác ra swap nếu cần.

Tại sao cần swap?

  • Tăng dung lượng bộ nhớ ảo: Swap cung cấp thêm dung lượng bộ nhớ ảo ngoài RAM.
  • Giảm thiểu tình trạng “out of memory”: Tránh tình trạng hệ thống bị treo hoặc bị kill các tiến trình khi hết bộ nhớ.
  • Quản lý hiệu quả tài nguyên hệ thống: Swap giúp tối ưu hóa việc sử dụng tài nguyên hệ thống bằng cách chuyển dữ liệu không cần thiết ra khỏi RAM.

Mô hình hoạt động:

1.1 14.06.2024

Kiểm tra và cài đặt swap

  • Kiểm tra.
Zhost Tutorial
sudo swapon --show
(Nếu không có kết quả, nghĩa là hệ thống của bạn chưa có swap).

 

  • Tạo file swap.
Zhost Tutorial
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
(Tạo một file swap có dung lượng mong muốn là 2G)

2 14.06.2024

 

  • Thiết lập quyền cho file swap.
Zhost Tutorial
sudo chmod 600 /swapfile

 

  • Định dạng file swap.
Zhost Tutorial
sudo mkswap /swapfile
3 14.06.2024

 

  • Kích hoạt file swap.
Zhost Tutorial
sudo swapon /swapfile

 

  • Kiểm tra lại swap.
Zhost Tutorial
sudo swapon --show
4 14.06.2024

 

  • Thiết lập kích hoạt swap tự động khi khởi động lại hệ thống.
Zhost Tutorial
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

(Câu lệnh trên đảm bảo rằng swap file /swapfile sẽ được kích hoạt tự động mỗi khi hệ thống khởi động lại.)5 14.06.2024

 

  • Điều chỉnh swappiness:
    • Swappiness là một tham số kernel trong Linux điều chỉnh cách hệ thống cân bằng việc sử dụng RAM và swap. Giá trị của swappiness nằm trong khoảng từ 0 đến 100.
    • 0: Hệ thống sẽ cố gắng tránh sử dụng swap và chỉ sử dụng khi RAM hoàn toàn đầy.
    • 100: Hệ thống sẽ sử dụng swap rất tích cực ngay cả khi RAM còn trống.
Zhost Tutorial
sudo sysctl vm.swappiness=10

(Giảm mức độ sử dụng swap là 10, hệ thống sẽ cố gắng giữ dữ liệu trong RAM càng nhiều càng tốt và chỉ sử dụng swap khi thực sự cần thiết. Điều này giúp giảm thiểu việc sử dụng swap và giữ hiệu suất hệ thống cao hơn, vì truy cập RAM nhanh hơn nhiều so với truy cập swap trên đĩa cứng. Giá trị này tạm thời và sẽ bị mất sau khi khởi động lại máy chủ.)

 

Zhost Tutorial
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

 

Zhost Tutorial
sudo sysctl -p

(Giá trị này được thay đổi vĩnh viễn kể cả sau khi khởi động lại máy chủ.)

 

  • Kiểm tra kết quả
Zhost Tutorial
free -h
6 14.06.2024

 

Kết luận

Việc cấu hình Swap đúng cách giúp máy chủ Linux hoạt động ổn định hơn, hạn chế tình trạng hết RAM đột ngột và đảm bảo các dịch vụ quan trọng không bị gián đoạn. Mặc dù Swap không thể thay thế hoàn toàn RAM vật lý, nhưng đây là giải pháp cần thiết cho các hệ thống có tài nguyên giới hạn.

Sau khi hoàn tất các bước cài đặt và cấu hình, bạn nên thường xuyên theo dõi mức sử dụng Swap để điều chỉnh dung lượng phù hợp với nhu cầu thực tế. Zhost khuyến nghị kích hoạt Swap cho hầu hết các máy chủ Linux nhằm tối ưu khả năng vận hành và tăng độ ổn định lâu dài của hệ thống. Chúc các bạn thành công!