Bộ nhớ Swap (Swap space hay Swap memory) là một trong những phân vùng Linux chính, là một phần của đĩa cứng hệ thống có thể được đưa vào nhân Linux dưới dạng phân vùng hoặc tệp. Có thể bạn thắc mắc, làm cách nào để tạo bộ nhớ Swap trong VPS Linux? Trong bài viết này, chúng tôi sẽ trả lời câu hỏi của bạn.
Lý do khiến bạn cần thêm bộ nhớ Swap
Hệ điều hành di chuyển các chương trình đến RAM chính để chạy chúng. Các hệ điều hành hiện đại có thể hỗ trợ thực thi đồng thời một số dịch vụ và chương trình nền. Nhưng do giới hạn của bộ nhớ chính trên hệ thống, người dùng thường gặp sự cố khi chạy một số chương trình. Vấn đề này xảy ra do bộ nhớ cần thiết để chạy các chương trình đồng thời nhiều hơn tổng bộ nhớ chính của hệ thống. Trong trường hợp này, hệ thống cuối cùng sẽ bị treo.
Để giải quyết vấn đề này, nên nâng cấp bộ nhớ chính của hệ thống. Điều này rất tốn kém hoặc một phần dung lượng ổ đĩa phải được chỉ định theo cách sử dụng bộ nhớ ảo để sử dụng làm bộ nhớ chính. Bộ nhớ Swap trong hệ điều hành Linux đóng vai trò để giải quyết vấn đề này.
Nhân Linux sử dụng không gian swap làm phần bổ sung cho RAM. Khi nhân Linux cần thêm RAM, nó có thể tăng dung lượng trống của RAM bằng cách chuyển các phần ít được sử dụng trong RAM sang bộ nhớ swap và nếu cần, có thể sử dụng các phần được sao chép trong không gian swap. Điều quan trọng là tạo không gian Swap trong Linux để quản lý bộ nhớ tối ưu. Bạn có thể xác định không gian swap dưới dạng phân vùng hoặc tệp chuyên dụng, thường được xác định là tệp swap khi khởi động hệ điều hành Linux.
Các bước để tạo tệp swap trong Linux
Bằng cách làm theo các bước của bài viết này, bạn có thể quản lý tối ưu bộ nhớ lưu trữ chính của máy chủ sau khi mua VPS Linux bằng cách tạo bộ nhớ ảo Swap. Bạn cũng có thể thêm bất kỳ dung lượng bộ nhớ nào bạn cần vào máy chủ (1G hoặc 2G,…).
Bước 1: Hiển thị mức tiêu thụ dung lượng RAM và Swap
Bước đầu tiên là xem dung lượng swap hiện tại nếu có và mức sử dụng RAM. Với mục đích này, sử dụng các lệnh sau:
free -h
swapon --summary
Cần lưu ý rằng mỗi lệnh sau có thể được sử dụng để hiển thị dung lượng RAM và Swap đã sử dụng:
swapon --summary
free -h
top
htop
vmstat
Bước 2: Tạo một tệp mới cho không gian Swap
Trong bước này, hãy tạo một tệp có dung lượng 1G (giá trị này có thể khác) để sử dụng làm dung lượng swap. Bạn có thể sử dụng hai lệnh để tạo tệp swap:
- Tạo một tệp swap bằng lệnh
fallocate
sudo fallocate –l 1G /swapfile
Chạy lệnh Fallocate sẽ tạo một tệp swap khi hệ điều hành của bạn hỗ trợ lệnh này. Nhưng nếu bạn nhận được thông báo lỗi ” Fallocate fail: Operation not supports ” bằng cách chạy lệnh trên, bạn phải chạy phương pháp tiếp theo, đó là sử dụng lệnh dd
.
- Tạo một tệp swap bằng lệnh
dd
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
Bước 3: Đặt quyền trên hệ thống tệp Linux
Để cải thiện bảo mật, bạn phải đặt quyền cho tệp swap thông qua lệnh sau và chỉ người dùng root mới có quyền đọc và ghi tệp swap.
sudo chmod -v 0600 /swap-file
Lưu ý: Bạn cũng có thể sử dụng lệnh sau để đặt quyền đối với tệp swap:
sudo chown -v root:root /swap-file
Ngoài ra, lệnh sau được thực thi để truy cập danh sách các quyền:
ls -l /swap-file
Bước 4: Thiết lập khu vực Swap
Để đặt khu vực swap, bạn phải chạy lệnh sau:
sudo mkswap /swapfile
Bước 5: Kích hoạt bộ nhớ Swap
Chạy lệnh swapon
để kích hoạt bộ nhớ swap:
sudo swapon /swapfile
Bước 6: Kích hoạt vĩnh viễn tệp Swap trong Linux
Để đảm bảo rằng các thay đổi (bật tệp swap) được áp dụng và lưu sau khi khởi động lại hệ điều hành Linux, hãy mở tệp /etc/fstab để chỉnh sửa:
sudo vi /etc/fstab
Sau đó nhập các dòng sau vào tệp /etc/fstab:
/etc/fstab
/swapfile swap swap defaults 0 0
Lưu và đóng tập tin.
Bước 7: Kiểm tra xem Swap có hoạt động không
Bằng cách thực thi các lệnh swapon
hoặc free
, bạn sẽ đảm bảo rằng Swap đang hoạt động:
sudo swapon --show
Output:
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 507.4M -1
sudo free -h
Output:
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
Lưu ý: Trong các bước đầu của bài viết, chúng tôi đã đề cập rằng các lệnh khác cũng được thực thi để kiểm tra xem file swap có đang hoạt động hay không.
=>> Đọc thêm: Cách cài đặt và thiết lập Apache Tomcat trên VPS Windows
Điều chỉnh giá trị của swappiness
Swappiness xác định khoảng thời gian và cách nhân Linux sử dụng bộ nhớ swap. Nghĩa là, nó xác định tần suất và mức độ mà hệ thống có thể sử dụng bộ nhớ ảo swap. Thuộc tính swappiness cho phép đặt các giá trị từ 0 đến 100, thường đặt thành 60 theo mặc định.
Tệp /proc/sys/vm/swappiness chứa các giá trị swap. Để xem giá trị mặc định của swappiness, hãy chạy lệnh sau:
cat /proc/sys/vm/swappiness
Output:
60
Giá trị mặc định của tính năng này là lý tưởng cho tất cả người dùng Linux, nhưng bạn có thể thay đổi nó nếu cần. Đối với điều này, hãy xem xét ví dụ sau đây.
Nếu bạn muốn thay đổi giá trị mặc định của swappiness thành 30, hãy chạy lệnh sysctl
:
sudo sysctl vm.swappiness=30
Sau đó, để đặt giá trị này thay vì giá trị mặc định của swappiness, bạn cần chỉnh sửa tệp /etc/sysctl.conf và thêm dòng sau vào tệp:
vm.swappiness=30
Chúng tôi đã đề cập trước đó rằng giá trị mặc định của tính năng swappiness phù hợp với tất cả người dùng. Nhưng đôi khi bạn cần thay đổi giá trị mặc định, giá trị bạn muốn thay thế phải phù hợp với khối lượng công việc và mức sử dụng bộ nhớ của hệ thống.
=>> Đọc thêm: Cách cài đặt Google Chrome trên Ubuntu
Đặt cách sử dụng Swap và ưu tiên tệp
Theo mặc định, nhân Linux sử dụng bộ nhớ swap hoạt động đầu tiên và sau khi sử dụng hoàn toàn không gian swap đầu tiên, nó sẽ chuyển sang không gian swap thứ hai và tiếp tục theo cách tương tự. Do đó, bạn có thể ưu tiên sử dụng bộ nhớ swap. Để ưu tiên sử dụng bộ nhớ swap bạn phải mở tệp /etc/fstab và thêm mức độ ưu tiên mong muốn vào tệp theo ví dụ dưới đây:
/dev/sdb none swap sw 0 0
/swap-file swap swap pri=5 0 0
/swap-file-2 swap swap pri=10 0 0
Lưu ý: – 2 là mức ưu tiên mặc định trong việc sử dụng bộ nhớ swap.
Trong ví dụ mà chúng tôi đã đề cập, ưu tiên sử dụng /swap-file-2 với pri=10, và sau khi không gian của nó được lấp đầy, nhân Linux sử dụng /swap-file với pri=5 và cuối cùng chuyển đến /dev/sdb.
Xóa tệp Swap
Cho đến bước này bạn đã thêm thành công tệp swap vào hệ thống Linux và tìm hiểu các cài đặt thực tế liên quan đến nó. Phần cuối cùng của bài viết này được cung cấp để giải quyết mối quan tâm của bạn về cách xóa tệp swap. Bạn có thể không cần tệp swap trong một số trường hợp và bạn có thể không biết cách xóa nó. Đừng lo lắng, chúng tôi sẽ hướng dẫn bạn vô hiệu hóa tệp với các bước dưới đây:
Bước đầu tiên là tắt swap bằng cách chạy lệnh sau:
sudo swapoff -v /swapfile
Trong tệp /etc/fstab, hãy xóa các giá trị mặc định của lối vào /swapfile swap swap defaults 0 0
.
Xóa tệp swap bằng cách chạy lệnh sau:
sudo rm /swapfile
Trong hướng dẫn này, bạn đã cấu hình và tạo thành công tệp Swap trong Linux để tối ưu hóa việc quản lý bộ nhớ hệ thống VPS Linux và tăng dung lượng swap khả dụng. Chúng tôi hy vọng rằng bạn có thể sử dụng bộ nhớ hệ thống của mình một cách tối ưu thông qua chia sẻ này. Truy cập zingserver.com để đăng ký sử dụng dịch vụ VPS Windows/Linux hoặc khi có bất kì câu hỏi nào. Chúc các bạn thành công!