Swap Ram là gì? Hướng dẫn chi tiết cách tạo Ram ảo trên Linux

Swap Ram không còn xa lạ gì với người dùng VPS. Vậy thực chất Swap Ram là gì? Cách tạo Ram ảo trên Linux như thế nào?… Cùng đọc bài hướng dẫn bên dưới đây của chúng tôi nhé.

Các hệ điều hành sẽ cần có một lượng RAM có sẵn để giúp chạy các ứng dụng. Tuy nhiên, dung lượng RAM sẽ có giới hạn, đó là lý do tại sao người ta không thiết kế RAM để chứa dữ liệu lớn. Do đó, cần có một công nghệ hỗ trợ RAM khi nó hết bộ nhớ.

Khái niệm này phù hợp với hệ điều hành Windows cũng như Linux. Trong hệ điều hành Windows, bất cứ khi nào RAM không đủ dung lượng bộ nhớ để chạy một chương trình thì nó sẽ mượn một lượng bộ nhớ từ bộ nhớ thứ cấp. Bộ nhớ mượn này được gọi là bộ nhớ ảo (Virtual Memory).

Tương tự trên Linux, bất cứ khi nào RAM hết thì nó sẽ mượn một số bộ nhớ từ bộ nhớ thứ cấp để lưu trữ nội dung không hoạt động. Bằng cách này, RAM tìm đủ không gian để chứa một tiến trình mới bên trong nó. Không gian mượn từ đĩa cứng được gọi là bộ nhớ hoán đổi (Swap Memory).

Tìm hiểu Swap Memory là gì

Swap Memory là dung lượng ổ cứng chuyên dụng được sử dụng khi RAM hết bộ nhớ. Có một chương trình quản lý bộ nhớ trong Linux đảm nhiệm quá trình này. Bất cứ khi nào RAM thiếu bộ nhớ, chương trình quản lý bộ nhớ sẽ tìm kiếm tất cả các khối dữ liệu không hoạt động có trong RAM đã lâu không được sử dụng.

Swap Ram là gì? Hướng dẫn chi tiết cách tạo Ram ảo trên Linux 1

Khi tìm thấy nó sẽ chuyển chúng vào Swap Memory. Bằng cách này, dung lượng RAM được giải phóng và do đó nó có thể được sử dụng cho một số chương trình khác.

Ngoài cái tên Swap Memory thì chúng ta hay gọi nó là Swap Ram.

Các loại Swap Memory

Chúng ta có hai loại swap memory như sau:

  • Swap Partition: Đây là loại swap memory mặc định, là một phân vùng ổ cứng dành riêng cho việc hoán đổi.
  • Swap File: Đây là swap memory tự tạo. Bất cứ khi nào không còn đủ dung lượng trống trong ổ cứng để tạo phân vùng swap thì file swap sẽ được tạo theo cách thủ công để hoán đổi nội dung không hoạt động của RAM vào đó.

Sử dụng Swap Memory mang lại những lợi ích gì?

Thông qua khái niệm mà chúng ta đã học ở phần 1 thì sẽ rút ra được một số lợi ích khi sử dụng Swap Memory như sau:

  • Tiết kiệm được những khối RAM không hoạt động mà hoặc chỉ sử dụng một hoặc hai lần và sau đó chúng không bao giờ được sử dụng nữa. Bộ nhớ RAM được giải phóng sau đó có thể được sử dụng để chạy những chương trình có mức độ ưu tiên cao hơn.
  • Ngăn không cho RAM hết dung lượng.
  • Hoạt động như một bản sao lưu để tăng cường không gian thực của RAM.
  • Cho phép bạn chạy các ứng dụng nặng cần nhiều RAM.
  • Trong quá trình ngủ đông, tất cả nội dung của RAM được ghi trên swap memory. Do đó, về cơ bản nó là cần thiết để quá trình ngủ đông diễn ra thành công.
  • Giúp nâng cao hiệu suất tổng thể của hệ thống của bạn.

Hướng dẫn cách tạo Swap trên Linux

Như khái niệm của nó, chúng ta sẽ tạo một khoảng trống trên ổ đĩa để trong trường hợp bộ nhớ RAM đầy thì hệ thống Linux sẽ sử dụng Swap để thay thế.

Swap Ram là gì? Hướng dẫn chi tiết cách tạo Ram ảo trên Linux 2

Chúng ta cũng có hai loại Swap, thứ nhất là Swap Partition và thứ hai là Swap File. Thông thường thì chúng ta sẽ sử dụng loại thứ hai (Swap File) vì rất tiện trong việc cấu hình.

Sau đây là các bước cơ bản nhất để tạo ram ảo trên hệ điều hành Linux.

Bước 1: Cài đặt phần mềm PuTTY để login vào VPS. Trường hợp bạn đang sử dụng VPS thì có thể tham khảo một trong hai bài sau:

Hãy đăng nhập bằng tài khoản Root để sử dụng được mọi quyền trong quá trình thực hiện cài đặt Swapfile nhé.

Bước 2: Kiểm tra xem đã cài đặt Swap chưa?

Hãy kiểm tra xem bạn đã cài đặt swap chưa nhé, nếu chưa thì tiến hành cài đặt, còn nếu rồi thì không cần phải tạo nữa.

Chạy lệnh sau để kiểm tra:

1 swapon --show

Nếu kết quả trả về không có gì thì tức là VPS của bạn chưa tạo Swap. Bây giờ bạn hãy tiếp tục qua bước thứu 3.

Bước 3: Thực hiện tạo file Swapfile.

Thông thường chúng ta sẽ tạo dung lượng cho swap gấp đôi so với dung lượng của ram thật. Ví dụ VPS của mình là RAM 1GB thì mình sẽ tạo swap file là 2GB.

Hãy chạy lệnh sau để tạo Swapfile.

1 dd if=/dev/zero of=/swapfile bs=1024 count=2048k

Nếu bạn muốn tạo file Swap chỉ 1GB thì hãy đổi con số 2048k thành 1024k nhé.

Bước 4: Phân quyền cho file swap.

Bạn nên phân quyền cho file này vì đây là một file khá quan trọng, chỉ tài khoản root mới đủ quyền đọc và chỉnh sửa thông tin bên trong đó.

Hãy chạy lần lượt hai lệnh dưới đây để phân quyền nhé.

1 chown root:root /swapfile
2 chmod 600 /swapfile

Bước 5: Kích hoạt Swap. Thao tác này cần thực hiện hay lần như sau:

Tạo phân vùng cho swap bằng lệnh sau.

1 mkswap /swapfile

Kích hoạt swap bằng lệnh sau.

1 swapon /swapfile

Bước 6: Mỗi khi khởi động lại hệ thống thì bạn sẽ phải chạy lệnh kích hoạt swap, điều này rất bất tiện, vì vậy ta cần thiết lập kích hoạt tự động mỗi khi khởi động lại hệ thống.

Để phân vùng của swal không bị mất mỗi khi khởi động lại thì bạn hãy chạy lệnh sau:

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

Vậy là xong. Bạn có thể test bằng cách khởi động lại hệ thống, sau đó chạy lệnh sau:

1 free -h

Nếu có kết quả trả về là bạn đã thành công.

Bước 7: Điều chỉnh giá trị Swappiness

Swappiness là giá trị tần suất mà hệ thống sẽ sử dụng swap, giá trị nằm trong khoảng từ 0 – 100, tương ứng với (0% – 100%), và tùy vào phiên bản Linux mà bạn đang sử dụng sẽ giá giá trị mặc định khác nhau.

Ví dụ với CentOS 7 thì giá trị mặc định là 30, tức là khi Ram thật chỉ còn 30% thì Swap Memory sẽ được hoạt động. Bạn hãy chạy lệnh sau để xem giá trị mặc định của bạn là bao nhiêu nhé.

1 cat /proc/sys/vm/swappiness

Vì dung lượng ram của mình thấp nên mình sẽ điều chỉnh nó xuống thành 10, tức khi Ram còn trống 10% thì quá trình Swap sẽ kích hoạt. Chạy lệnh dưới đây để thực hiện.

1 sysctl vm.swappiness=10

Tương tự, để tham số này không bị thay đổi mỗi khi khởi động lại hệ thống thì bạn cần chỉnh nó trong file /etc/sysctl.conf.

Hãy mở file này lên bằng Vim Editor hoặc Nano Editor nhé. Mình sẽ sử dụng nano nhé.

1 nano /etc/sysctl.conf

Thêm dòng sau vào cuối file, hoặc một hàng trống nào đó.

1 vm.swappiness=10

Tiếp theo hãy mở file tuned.conf nằm trong /usr/lib/tuned/virtual-guest/tuned.conf, tìm dòng vm.swappiness và sửa giá trị thành 10.

Vậy là bạn đã thực hiện tạo Swap file thành công rồi đấy. Bây giờ mình sẽ giới thiệu thêm một số lệnh quản lý Swap thông dụng khác nhé.

Hướng dẫn xóa Swap trên Linux

Cái gì cũng vậy, lúc xây dựng thì mất rất nhiều thời gian, nhưng lúc đập bỏ đi thì chỉ cần một vài thao tác là được.

Để xóa Swap trên Linux thì bạn chỉ việc chạy lệnh dưới đây.

Đầu tiên hãy chạy lệnh sau để hủy kích hoạt Swap.

1 swapoff -v /swapfile

Tiếp theo mở file /etc/fstab và xoá dòng dưới đây.

1 /swapfile none swap sw 0 0

Và cuối cùng, hãy xóa file swapfile khỏi hệ thống.

1 rm /swapfile

Xong

Qua bài viết này thì bạn đã hiểu Swap Ram là gì, cách tạo Ram ảo trên Linux và cách xóa Swap trên Linux như thế nào rồi đúng không? Thực hành ngay nào!

Nguồn bài tham khảo: freetuts