Nhân Linux cung cấp một cài đặt có thể điều chỉnh để kiểm soát tần suất sử dụng tệp hoán đổi, được gọi là swappiness
Cài đặt swappiness bằng 0 có nghĩa là đĩa sẽ được tránh trừ khi thực sự cần thiết (bạn hết bộ nhớ), trong khi cài đặt swappiness 100 có nghĩa là các chương trình sẽ được hoán đổi sang đĩa gần như ngay lập tức.
Hệ thống Ubuntu đi kèm với mặc định là 60, có nghĩa là tệp hoán đổi sẽ được sử dụng khá thường xuyên nếu mức sử dụng bộ nhớ chiếm khoảng một nửa RAM của tôi. Bạn có thể kiểm tra giá trị trao đổi của hệ thống của riêng bạn bằng cách chạy:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
Vì tôi có 4 GB RAM, vì vậy tôi muốn giảm xuống còn 10 hoặc 15. Tệp hoán đổi sau đó sẽ chỉ được sử dụng khi mức sử dụng RAM của tôi khoảng 80 hoặc 90 phần trăm. Để thay đổi giá trị swappiness hệ thống, mở /etc/sysctl.conf as root
. Sau đó, thay đổi hoặc thêm dòng này vào tệp:
vm.swappiness = 10
Khởi động lại để thay đổi có hiệu lực
Bạn cũng có thể thay đổi giá trị trong khi hệ thống của bạn vẫn đang chạy
sysctl vm.swappiness=10
bạn cũng có thể xóa trao đổi của mình bằng cách chạy swapoff -a
và sau đó swapon -a
là root thay vì khởi động lại để đạt được hiệu quả tương tự.
Để tính Công thức hoán đổi của bạn
free -m (total) / 100 = A
A * 10
root@onezero:/home/one# free -m
total used free shared buffers cached
Mem: 3950 2262 1687 0 407 952
-/+ buffers/cache: 903 3047
Swap: 1953 0 1953
vậy tổng cộng là 3950/100 = 39,5 * 10 = 395
Vì vậy, ý nghĩa của nó là khi 10% 395 MB ram còn lại thì nó bắt đầu sử dụng tính hoán đổi