Ядро Linux надає налаштовану настройку, яка керує тим, як часто використовується файл swap, називається swappiness
Якщо встановити нульовий параметр нуля, це означає, що диск буде уникнути, якщо це абсолютно не потрібно (у вас не вистачає пам'яті), тоді як налаштування простоти 100 означає, що програми будуть замінені на диск майже миттєво.
Система Ubuntu поставляється за замовчуванням 60, це означає, що файл swap буде використовуватися досить часто, якщо використання пам'яті становить близько половини моєї оперативної пам’яті. Ви можете перевірити значення своєї власної системи за допомогою запуску:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
Оскільки у мене є 4 ГБ оперативної пам’яті, тому я хотів би зменшити це на 10 або 15. Файл swap тоді використовуватиметься лише тоді, коли моє використання оперативної пам’яті становить приблизно 80 або 90 відсотків. Щоб змінити значення заміщення системи, відкрийте /etc/sysctl.conf as root
. Потім змініть або додайте цей рядок у файл:
vm.swappiness = 10
Перезавантажте, щоб зміни вступили в силу
Ви також можете змінити значення, поки ваша система все ще працює
sysctl vm.swappiness=10
ви також можете очистити свій swap, запустивши, swapoff -a
а потім swapon -a
як root замість перезавантаження, щоб досягти того ж ефекту.
Щоб обчислити формулу своп
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
тому загальна сума становить 3950/100 = 39,5 * 10 = 395
так що це означає, що коли 10% 395 МБ барана залишилося, то він починає використовувати своп