Tôi cần một cách từng bước, đơn giản và dễ dàng để cấu hình swappiness.
sudo sysctl -p
để tải giá trị swappiness mới từ tệp sysctl.conf, nếu không, thay đổi chỉ áp dụng cho lần khởi động lại tiếp theo.
Tôi cần một cách từng bước, đơn giản và dễ dàng để cấu hình swappiness.
sudo sysctl -p
để tải giá trị swappiness mới từ tệp sysctl.conf, nếu không, thay đổi chỉ áp dụng cho lần khởi động lại tiếp theo.
Câu trả lời:
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, 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
dưới dạng 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 với:
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ó sẽ bắt đầu sử dụng trao đổi.
Tham số swappiness kiểm soát xu hướng của kernel để di chuyển các tiến trình ra khỏi bộ nhớ vật lý và vào đĩa trao đổi. Vì các đĩa chậm hơn nhiều so với RAM, điều này có thể dẫn đến thời gian phản hồi chậm hơn cho hệ thống và ứng dụng nếu các quá trình di chuyển quá mạnh ra khỏi bộ nhớ.
swappiness
có thể có giá trị từ 0 đến 100.swappiness=0
:
swappiness=1
:
swappiness=100
:
Xem http://en.wikipedia.org/wiki/Swappiness .
Cài đặt mặc định trong Ubuntu là swappiness=60
. Giảm giá trị mặc định của swappiness có thể sẽ cải thiện hiệu suất tổng thể cho cài đặt máy tính để bàn điển hình của Ubuntu. Giá trị swappiness=10
được khuyến nghị, nhưng hãy thử nghiệm.
Bắt đầu sử dụng trao đổi ở 91% :
Như tôi đã cấu hình hệ thống của mình & vm để sử dụng RAM ở mức 90% , ở mức 90% không có sự hoán đổi.
Sau đó, tôi đã mở một số ứng dụng như Firefox & Shutter và nó bắt đầu hoán đổi vì mức sử dụng RAM là trên 90% .
sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"