NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
15/06/2023
Lượt xem

Hướng dẫn cách thêm Swap Space trên Ubuntu 20.04

15/06/2023
12 phút đọc
Lượt xem

Đánh giá

5/5 - (144 bình chọn)

Thêm swap space là một trong những cách hiệu quả nhất để hạn chế tình trạng hết bộ nhớ trên hệ thống. Bài viết này sẽ hướng dẫn chi tiết cách thêm Swap Space trên Ubuntu 20.04.

Khái niệm Swap là gì?

Swap là một phần ổ đĩa cứng được dành cho hệ điều hành để tạm thời lưu trữ các dữ liệu không chứa được trong RAM. Phương pháp này giúp tăng lượng thông tin và dữ liệu mà server có thể chứa bên trong bộ nhớ đang làm việc. Dung lượng swap này sẽ được sử dụng khi không còn đủ chỗ trống trong RAM để chứa dữ liệu các ứng dụng đang được sử dụng.

Khái niệm Swap là gì?
Khái niệm Swap là gì?

Các thông tin được lưu trong đĩa thường sẽ có tốc độ truy cập chậm hơn khá nhiều so với khi lưu trữ trên RAM, đồng thời hệ điều hành cũng ưu tiên lưu trữ dữ liệu của các ứng dụng đang chạy trong bộ nhớ, còn swap dùng để lưu trữ các dữ liệu cũ.

Nhìn chung thì việc sử dụng bộ nhớ swap là một phương pháp đơn giản mà rất hiệu quả khi hệ thống không có đủ RAM để đáp ứng nhu cầu sử dụng, nhất là đối với các hệ thống không có bộ nhớ SSD.

Các bước thêm swap space trên Ubuntu 20.04

Dưới đây là 6 bước để thêm swap space chi tiết trên Ubuntu 20.04.

Bước 1 – Kiểm tra hệ thống

Trước khi bắt đầu cần kiểm tra xem hệ thống đã có sẵn bộ nhớ swap hay chưa:

sudo swapon --show

Nếu không có bất kỳ output nào thì hệ thống vẫn chưa có bộ nhớ swap. Ngoài ra bạn cũng có thể chạy thêm lệnh free để xác nhận rằng không có swap trên hệ thống:

free -h

Bước 2 – Kiểm tra bộ nhớ khả dụng trên phân vùng ổ cứng

Trước khi tạo file swap, ta sẽ kiểm tra dung lượng còn trống của ổ đĩa hiện tại để đảm bảo rằng vẫn còn đủ chỗ trống cho swap space:

df -h
Output Filesystem      Size  Used Avail Use% Mounted on udev            474M     0  474M   0% /dev tmpfs            99M  932K   98M   1% /run /dev/vda1        25G  1.4G   23G   7% / tmpfs           491M     0  491M   0% /dev/shm tmpfs           5.0M     0  5.0M   0% /run/lock tmpfs           491M     0  491M   0% /sys/fs/cgroup /dev/vda15      105M  3.9M  101M   4% /boot/efi /dev/loop0       55M   55M     0 100% /snap/core18/1705 /dev/loop1       69M   69M     0 100% /snap/lxd/14804 /dev/loop2       28M   28M     0 100% /snap/snapd/7264 tmpfs            99M     0   99M   0% /run/user/1000

Thiết bị có giá trị ở cột Mounted on/ chính là ổ đĩa của bạn. Theo như output này thì bạn vẫn còn trống 23GB.

Việc lựa chọn kích thước của bộ nhớ swap còn tùy thuộc nhiều vào nhu cầu cá nhân hay yêu cầu của ứng dụng. Thường thì bạn chỉ cần bộ nhớ bằng hoặc gấp đôi lượng RAM hiện có trên hệ thống, tuy nhiên thường swap thường không lớn hơn 4GB.

Bước 3 – Tạo file swap

Bây giờ ta có thể tạo một file swap trên filesystem. Cách tốt nhất để tạo file này là dùng chương trình fallocate, cho phép tạo nhanh một file với kích thước được chỉ định sẵn.

Trong ví dụ này, server của chúng ta có 1G RAM, do đó Vietnix sẽ tạo bộ nhớ swap có kích thước là 1G. Bạn có thể tùy chỉnh con số này sao cho phù hợp với nhu cầu của mình:

sudo fallocate -l 1G /swapfile

Xác thực xem hệ thống đã để dành đúng 1G bộ nhớ hay chưa:

ls -lh /swapfile
-rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile

Khi sử dụng VPS và muốn tăng cường hiệu suất, ổn định hệ thống của mình, bạn có thể thêm swap space. Để sở hữu VPS chất lượng, bạn có thể tham khảo tại Vietnix.

Vietnix cung cấp các gói VPS đa dạng để đáp ứng nhu cầu của mọi người, bao gồm VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp và VPS NVMe. Bạn có toàn quyền quản lý VPS của mình và thực hiện các thay đổi như thêm swap space trên Ubuntu 20.04 một cách dễ dàng.

Việc thêm swap space sẽ giúp bạn tăng khả năng lưu trữ dữ liệu tạm thời khi bộ nhớ RAM đã đầy, giúp hệ thống hoạt động mượt mà hơn và tránh các sự cố quá tải.

Liên hệ ngay với Vietnix để lựa chọn gói VPS phù hợp với nhu cầu của bạn.

Bước 4 – Enable file swap

Sau khi có được file swap ở bước trên, ta có thể bắt đầu chuyển nó thành bộ nhớ swap theo hướng dẫn dưới đây.

Trước tiên, hãy khóa các quyền truy cập của file sao cho chỉ những user có quyền root mới có thể đọc file. Việc này giúp ngăn không cho những user không thường truy cập file, từ đó hạn chế rủi ro bảo mật cho hệ thống.

Cho phép root truy cập file bằng lệnh sau:

sudo chmod 600 /swapfile

Xác thực thay đổi:

ls -lh /swapfile
Output -rw------- 1 root root 1.0G Apr 25 11:14 /swapfile

Theo kết quả thấy được, chỉ có root user mới có quyền đọc và ghi với file này

Tiếp theo, đánh dấu file làm dung lượng swap bằng lệnh:

sudo mkswap /swapfile
Output Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf

Sau khi tạo file, người dùng bắt đầu mở swap file, cho phép hệ thống dùng tính năng này

sudo swapon /swapfile

Sau đó xác thực xem swap đã khả dụng chưa:

sudo swapon –show
Output NAME      TYPE  SIZE     USED PRIO /swapfile  file    1024M   0B    -2

Bên cạnh đó bạn cũng có thể kiểm tra lại output của công cụ free để xác nhận:

free -h
Output               total        used        free      shared  buff/cache   available Mem:          981Mi       123Mi       644Mi       0.0Ki       213Mi       714Mi Swap:         1.0Gi          0B       1.0Gi

Bước 5 – Đặt file swap thành vĩnh viễn

Bước 4 chỉ thực hiện enable file swap trong phiên hiện tại. Do đó sau khi reboot thì server sẽ không còn giữ thiết lập swap này nữa. Bạn có thể thêm file swap này vào file /etc/fstab để đặt hiệu lực thành vĩnh viễn.

Trước tiên, hãy backup file /etc/fstab để đề phòng trường hợp có lỗi xảy ra trong quá trình thực hiện:

sudo cp /etc/fstab /etc/fstab.bak

Sau đó thêm thông tin file swap vào cuối file /etc/fstab:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Bước 6 – Chỉnh sửa cài đặt swap

Ở bước cuối cùng, ta sẽ chỉnh sửa một số cấu hình để cải thiện hiệu năng của hệ thống khi sử dụng bộ nhớ swap.

Thay đổi mức độ swap

Tham số swappiness cấu hình tần suất hệ thống swap dữ liệu từ RAM vào bộ nhớ swap. Tham số này có giá trị từ 0 đến 100 (phần trăm). Nếu giá trị gần 0 thì kernel sẽ hầu như không swap dữ liệu trừ trường hợp đặc biệt cần thiết. Cần lưu ý rằng việc swap tốn rất nhiều chi phí tài nguyên của hệ thống, từ đó có thể ảnh hưởng đến hiệu năng. Nếu không phụ thuộc quá nhiều vào việc swap thì hệ thống thường sẽ có hiệu suất tốt hơn.

Ngược lại, giá trị của tham số càng gần 100 thì hệ thống sẽ càng swap nhiều hơn để có nhiều dung lượng trống cho RAM. Việc này đôi khi có thể có lợi, tùy vào profile bộ nhớ của ứng dụng và nhu cầu sử dụng server.

Mức độ swap hiện tại có thể được xem bằng lệnh sau:

cat /proc/sys/vm/swappiness

Đối với desktop thì giá trị này thường nằm ở mức 60, còn server thì nên đặt về gần 0 để tối ưu hiệu suất.

Mức độ swap có thể được thay đổi bằng lệnh sysctl. Giả sử bạn cần đổi thành 10 thì có thể dùng lệnh sau:

sudo sysctl vm.swappiness=10
Output vm.swappiness = 10

Thiết lập này sẽ có hiệu lực cho đến lần reboot tiếp theo. Bạn cũng có thể đặt giá trị này tự động điều chỉnh mỗi khi restart bằng cách thêm dòng sau vào file /etc/sysctl.conf:

vm.swappiness=10

Thay đổi thiết lập cache

Một giá trị quan trọng khác là vfs_cache_presssure, cấu hình số lượng mà hệ thống sẽ chọn để lưu trữ thông tin inodedentry trên các dữ liệu khác.

Về cơ bản thì đây là việc truy cập dữ liệu liên quan đến filesystem. Thao tác này mất rất nhiều chi phí tính toán và tìm kiếm, đồng thời cũng được yêu cầu thường xuyên khi sử dụng. Do đó đây là một lựa chọn hợp lý để hệ thống đưa vào cache.

Bạn có thể xem giá trị hiện tại của tham số này bằng cách truy vấn filesystem proc:

cat /proc/sys/vm/vfs_cache_pressure
Output 100

Theo như output thì hệ thống hiện tại sẽ xóa các thông tin inode từ cache rất nhanh. Bạn có thể đặt giá trị này thành các số nhỏ hơn như 50:

sudo sysctl vm.vfs_cache_pressure=50
Output vm.vfs_cache_pressure = 50

Tương tự như ở trên, ta cũng đặt giá trị này sao cho vẫn có hiệu lực sau mỗi lần restart bằng cách thêm dòng dưới đây vào file etc/syscyl.conf:

vm.vfs_cache_pressure=50

Vietnix là nhà cung cấp dịch vụ hosting, VPS tốc độ cao chuyên nghiệp hàng đầu tại Việt Nam với công nghệ chống tấn công DDoS độc quyền.

Với phương châm lấy sự thành công của khách hàng làm mục tiêu để phục vụ, Vietnix không ngừng phát triển hạ tầng để đảm bảo tốc độ cao và sự ổn định cho tất cả các sản phẩm. Đồng thời, nâng cao chất lượng hỗ trợ nhằm mang đến sự hài lòng cho khách hàng.

Những thế mạnh của Vietnix phải kể đến đó là:

  • Hơn 11 năm kinh nghiệm cung cấp hosting, VPS.
  • Đồng hành cùng hơn 50.000 khách hàng.
  • Hơn 100.000 dịch vụ đã được kích hoạt.
  • 97% khách hàng đánh giá 5 sao.
  • 89% khách hàng duy trì sử dụng dịch vụ đến thời điểm hiện tại.
  • Đạt giải thưởng Thương hiệu Việt Nam xuất sắc 2022.

Thông tin liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn

Lời kết

Bài viết này đã hướng dẫn cách thiết lập bộ nhớ swap cho hệ thống, giúp giảm đáng kể lỗi hết bộ nhớ trên server. Nếu có bất kỳ thắc mắc nào khác, hãy để lại ở phần bình luận bên dưới để được Vietnix hỗ trợ nhanh nhất.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG