Bạn cũng có thể đặt giá trị "swappiness" của mình từ mặc định là 60, bằng cách này, việc hoán đổi sẽ không quá lớn để bắt đầu. Tại sao mặc định vận chuyển được đặt thành 60 khi giá trị được đề xuất là 10 làm tôi bối rối. Từ Ubuntu SwapFAQ :
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ị của swappiness = 10 được khuyến nghị , nhưng hãy thử nghiệm.
Bằng cách thay đổi giá trị này thành 10 hoặc thậm chí 0, bạn có thể thêm một mức tăng tốc độ đáng kể và có thể nhận thấy vào một hệ thống cũ hơn với một ổ đĩa chậm. Đặt giá trị này thành 0 sẽ không tắt trao đổi cho kernel Linux 3.4 trở xuống nhưng với 3.5+ thì bạn sẽ muốn sử dụng giá trị 1 nếu bạn muốn giữ nó ở cài đặt thấp nhất *.
Tôi thấy không có lý do gì để không đặt giá trị này thành 0 vì bất cứ thứ gì chạm vào đĩa đều chậm hơn RAM. Tôi có 8 lõi ảo, SSD nhanh và 8 GB bộ nhớ và trao đổi của tôi được đặt thành 0. Hiện tại tôi có 3 máy ảo đang chạy, mức sử dụng bộ nhớ của tôi là 7.1 trên 7,7 GB, trao đổi được sử dụng của tôi chỉ ở mức 576KB 952MB và tất cả các hệ thống đang chạy trơn tru!
Từ Ubuntu SwapFAQ :
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 nói với kernel để tránh các quá trình hoán đổi ra khỏi bộ nhớ vật lý càng lâu càng tốt
- swappiness = 100 bảo kernel nhân mạnh mẽ trao đổi các tiến trình ra khỏi bộ nhớ vật lý và chuyển chúng sang hoán đổi bộ đệm
Dưới đây là các hướng dẫn cơ bản để kiểm tra swappiness, làm trống giao dịch của bạn và thay đổi swappiness thành 0:
Để kiểm tra giá trị swappiness:
cat /proc/sys/vm/swappiness
Để tạm thời đặt hoán đổi thành 0 ( như được đề xuất bởi SpamapS ):
Điều này sẽ làm trống trao đổi của bạn và chuyển tất cả các trao đổi trở lại vào bộ nhớ. Trước tiên, hãy đảm bảo bạn có đủ bộ nhớ khả dụng bằng cách xem tab tài nguyên của màn hình hệ thống gnome, bộ nhớ trống của bạn phải lớn hơn so với trao đổi đã sử dụng của bạn. Quá trình này có thể mất một lúc, sử dụng màn hình gnome-system để theo dõi và xác minh tiến trình.
sudo swapoff --all
Để đặt giá trị mới thành 0:
sudo sysctl vm.swappiness=0
Để bật lại trao đổi:
sudo swapon --all
Để đặt vĩnh viễn swappiness thành 0:
sudoedit /etc/sysctl.conf
- Thêm dòng này
vm.swappiness = 0
sudo shutdown -r now
# khởi động lại hệ thống
* Với phiên bản kernel 3.5+, cài đặt swappiness thành 0 sẽ tắt hoàn toàn và cài đặt 1 được khuyến nghị nếu bạn muốn thuật toán swappiness thấp nhất. nguồn: https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/