Mục lục

I. 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.
II. 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:
III. Kiểm Tra và Cài Đặt Swap
- Kiểm tra(Nếu không có kết quả, nghĩa là hệ thống của bạn chưa có swap.)Zhost Tutorial
sudo swapon --show
- Tạo file Swap(Tạo một file swap có dung lượng mong muốn là 2G)Zhost Tutorial
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
- Thiết lập quyền cho file swapZhost Tutorial
sudo chmod 600 /swapfile
- Định dạng file swapZhost Tutorial
sudo mkswap /swapfile
- Kích hoạt file swapZhost Tutorial
sudo swapon /swapfile
- Kiểm tra lại swapZhost Tutorial
sudo swapon --show
- Thiết lập kích hoạt swap tự động khi khởi động lại hệ thốngZhost 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.) - Đ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ủaswappiness
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 Tutorialsudo 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 Tutorialecho 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Zhost Tutorialsudo 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
Hoàn Thành Cài Đặt Swap.