Swappiness Là Gì? Lúc Nào Thì Cần Điều Chỉnh Swappiness

Bài viết này VinaHost sẽ tìm hiểu Swap? Swappiness Là Gì? Lúc Nào Thì Cần  Điều Chỉnh Swappiness.

Tìm hiểu về swap?

Swap là khái niệm bộ nhớ ảo được sử dụng trên hệ điều hành Linux. Nếu bộ nhớ hệ thống bị đầy thì một số vùng nhớ sẽ được đưa xuống SWAP thay vì bị hệ thống hủy tiến trình.

Như các bạn cũng biết tốc độ ổ cứng chậm hơn rất nhiều so với tốc độ của RAM. Tuy nhiên việc sử dụng bộ nhớ Swap sẽ giúp hệ thống của hoạt động ổn định hơn.

Mục đích sử dụng swap:

  • Khi dùng một phần mềm yêu cầu hệ thống có hỗ trợ bộ nhớ Swap trong phần cài đặt (ví dụ: Oracle).
  • Khi muốn hoạt động của hệ thống ổn định hơn, đặc biệt quan trọng đối với các hệ thống không có nhiều dung lượng RAM (RAM < 6GB).
  • Nếu bạn đang dùng Ubuntu, hệ điều hành này sẽ yêu cầu Swap cho chế độ ngủ đông.

Swap có 2 loại cơ bản:

  • swap partition : Như tên của nó đã nói , đây là 1 phân vùng độc lập trên ổ đĩa cứng, chỉ có một mục đích duy nhất là swapping và không có bất kì file khác nằm trên nó . => Cài đặt khi bắt đầu cài hệ điều hành Linux.
  • swap file: là một file riêng biệt nằm trên hệ thống của bản, nó có thể nằm ở bất cứ đâu trên ổ đĩa tùy vào sự config của bạn . => Hệ điều hành linux đã cài xong.

Hiện tại chưa có nguyên tắc nào về phân chia dung lượng swap, nhưng mọi người thường chia theo qui luật :

  • Hệ thống Desktop: nên để bằng 2*RAM – đủ để bạn chạy một số lượng lớn các ứng dụng
  • Server: cần ít hơn (có người cho rằng chỉ cẩn để bằng 1/2*RAM). Tuy nhiên bạn cần theo dõi swap space và tăng lượng RAM nếu cần thiết
  • Older desktop (hệ thống có ít RAM – 128 MB chẳng hạn): bạn có thể dành 3*RAM cho swap, hoặc có thể để 1GB.

Cách chỉnh Swap trên hệ điều hành linux như sau:

$ dd if=/dev/zero of=/swapfile bs=1024 count=1048576

$ chmod 600 /swapfile

$ mkswap /swapfile

$ swapon /swapfile

* Tương tự thay thế bs=2048 để tăng swap 2GB

Mở file /etc/fstab và thêm vào dòng sau để swap tự thêm vào khi khỏi động lại dịch vụ:

sudo vi /etc/fstab

$ /swapfile none swap sw 0 0

*Các thông số trên có nghĩa là:

1.source   2.mountpoint  3.fstype  4.options   5.freq  6.order

Swappiness là một biến trong Linux kernel điều khiển khi nào Linux kernel nên swap một process ra khỏi bộ nhớ đang sử dụng. Giá trị này càng nhỏ thì bộ nhớ càng ít được swap, càng lớn sẽ làm kernel càng sử dụng nhiều vùng nhớ swap. Swappiness lấy giá trị từ 0 đến 100. Giá trị mặc định là 60.

  • swappiness = 0 – có nghĩ là bình thường swap không sử dụng và nó chỉ được sử dụng khi RAM thực bị tràn (tức hết ram )
  • swappiness = 10 – Có nghĩa là nếu RAM thực còn 10% thì hệ thống sẽ dùng đến swap
  • swappiness = 60 – Mặc định
  • swappiness = 100 – Swap sẽ hoạt động hết mình . ưu tiên như là ram thật, VPS sẽ làm việc vất vả hơn.

Chỉnh sửa swappiness:

Kiểm tra swappiness hiện tại của dịch vụ

cat /proc/sys/vm/swappiness

Chỉnh sửa thông số swappiness dùng lệnh sau:

$ sudo sysctl vm.swappiness=10

* Bạn thay thế giá trị 10 thành giá trị cần chỉnh sửa.

Sau đó bạn reboot dịch vụ và kiểm tra lại thành quả.

Chúc bạn thành công.

24/03/2021
Was this article helpful?