Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:ubuntu_optimization [2016/04/25 01:31] [Настройка Swappiness] |
wiki:ubuntu_optimization [2018/01/10 11:59] [Настройка Swappiness] |
||
---|---|---|---|
Строка 148: | Строка 148: | ||
Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует, каким образом система будет работать с файлом подкачки ([[swap]]). Этот параметр может иметь следующие значения: | Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует, каким образом система будет работать с файлом подкачки ([[swap]]). Этот параметр может иметь следующие значения: | ||
- | vm.swappiness = 0 Ядро будет использовать файл подкачки только в том случае, если значение свободной оперативной памяти будет меньше указанного в параметре vm.min_free_kbytes. | + | ^ Значение параметра ^ Описание ^ |
- | vm.swappiness = 1 Для ядер версии 3.5 и выше, минимальное использование файла подкачки без его полного отключения | + | | vm.swappiness = 0 | Ядро будет использовать файл подкачки только в том случае, если значение свободной оперативной памяти будет меньше указанного в параметре vm.min_free_kbytes. | |
- | vm.swappiness = 10 Это значение часто рекомендуют для увеличения производительности при наличии достаточного объема оперативной памяти на компьютере | + | | vm.swappiness = 1 | Для ядер версии 3.5 и выше, минимальное использование файла подкачки без его полного отключения. | |
- | vm.swappiness = 60 Значение по умолчанию | + | | vm.swappiness = 10 | Это значение часто рекомендуют для увеличения производительности при наличии достаточного объема оперативной памяти на компьютере | |
- | vm.swappiness = 100 Система будет использовать файл подкачки очень интенсивно (НЕ РЕКОМЕНДУЕТСЯ, т.к. вызовет сильное замедление работы системы) | + | | vm.swappiness = 60 | Значение по умолчанию | |
+ | | vm.swappiness = 100 | Система будет использовать файл подкачки очень интенсивно (НЕ РЕКОМЕНДУЕТСЯ, т.к. вызовет сильное замедление работы системы) | | ||
- | При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 либо до 1. В консоли введите следующую команду:<code bash>gksu gedit /etc/sysctl.conf</code>Добавьте строку в конец файла:<file>vm.swappiness=10</file>, либо <file>vm.swappiness=1</file> | + | При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 либо до 1. В консоли введите следующую команду:<code bash>gksu gedit /etc/sysctl.conf</code>Добавьте строку в конец файла:<file>vm.swappiness=10</file> либо <file>vm.swappiness=1</file> |
- | ---- | + | При этом "агрессивность" swap опредиляется несколькими праметрами |
+ | <code bash>swap_tendency = mapped_ratio/2 + distress + swappiness</code> | ||
+ | Где | ||
+ | |||
+ | **swapiness** - определенный парамет (или системой или переопределен пользователем vm.swappiness) | ||
+ | |||
+ | **distress** - сколько раз ядро пыталось освободить память (каждый раз повышается на 1, изначальное число 0) | ||
+ | |||
+ | **mapped_ratio** - процент занятой оперативной памяти | ||
+ | |||
+ | **swap_tendency** - если число 100 и более, то система будет свопить (второе ограничение - остаток свободной памяти менее 64МиБ) | ||
+ | |||
+ | Пример | ||
+ | |||
+ | Система еще не свопила перед этим, swappiness установлен по дефолту 60. То есть система первый раз засвопит при достижении значения свободной памяти в 80% | ||
+ | <code bash>100 = x/2 + 0 + 60</code> | ||
+ | |||
+ | Соответственно, с этим параметром стоит быть предельно осторожным, так как и увеличение и уменьшение параметра может привести к значительному замедлению системы. | ||
+ | |||
+ | //vm.swappiness = 100// замедление может быть заметно сразу | ||
+ | |||
+ | //vm.swappiness ~ 0// проявятся "жуткие" тормоза в процессе использования системы, особенно под нагрузкой | ||
+ | |||
+ | |||
+ | ==== Параллельная загрузка ==== | ||
<note important>Только для версии 9.04 и ниже!</note> | <note important>Только для версии 9.04 и ниже!</note> | ||
<note warning>Данный пункт («Параллельная» загрузка) не работает в 7.10! Страница с багом [[https://bugs.launchpad.net/ubuntu/+source/hal/+bug/149881|здесь]]\\ Данный пункт ("Параллельная загрузка") не работает в 14.04! В связи с появлением upstart</note> | <note warning>Данный пункт («Параллельная» загрузка) не работает в 7.10! Страница с багом [[https://bugs.launchpad.net/ubuntu/+source/hal/+bug/149881|здесь]]\\ Данный пункт ("Параллельная загрузка") не работает в 14.04! В связи с появлением upstart</note> | ||
* **"Параллельная" загрузка**. Если Вы имеете двухядерный процессор, или он поддерживает технологию hyperthreading - то их можно задействовать в системе. Откройте терминал и выполните команду:<code bash>gksu gedit /etc/init.d/rc</code>найдите **CONCURRENCY=none** и замените на:<file>CONCURRENCY=shell</file>Сохраните и перезагрузите компьютер. | * **"Параллельная" загрузка**. Если Вы имеете двухядерный процессор, или он поддерживает технологию hyperthreading - то их можно задействовать в системе. Откройте терминал и выполните команду:<code bash>gksu gedit /etc/init.d/rc</code>найдите **CONCURRENCY=none** и замените на:<file>CONCURRENCY=shell</file>Сохраните и перезагрузите компьютер. | ||
- | |||