Увеличение скорости работы Ubuntu Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ubuntu_optimization [2013/09/20 15:34]
[Prelink] - удалил. В установке prelink нет необходимости, так как в Ubuntu задейстован альтернативный механизм линковки DT_GNU_HASH!
wiki:ubuntu_optimization [2018/01/10 11:59] (текущий)
[Настройка Swappiness]
Строка 14: Строка 14:
 В Ubuntu по умолчанию установлена утилита ''​readahead'',​ которая позволяет ускорить загрузку системы. Для того чтобы эта утилита давала максимальный эффект,​ рекомендуется время от времени загружать систему с параметром ''​profile'',​ который обновляет кэши readahead. Чтобы сделать это, надо во время загрузки компьютера зайти в меню [[GRUB]], зажав <​key>​S</​key>​ при включении компьютера,​ затем выбрать строку c названием Ubuntu и нажать кнопку <​key>​e</​key>​ для редактирования параметров загрузки. В появившемся тексте найдите строку вида((Строка может незначительно отличатся в зависимости от версии системы.)) В Ubuntu по умолчанию установлена утилита ''​readahead'',​ которая позволяет ускорить загрузку системы. Для того чтобы эта утилита давала максимальный эффект,​ рекомендуется время от времени загружать систему с параметром ''​profile'',​ который обновляет кэши readahead. Чтобы сделать это, надо во время загрузки компьютера зайти в меню [[GRUB]], зажав <​key>​S</​key>​ при включении компьютера,​ затем выбрать строку c названием Ubuntu и нажать кнопку <​key>​e</​key>​ для редактирования параметров загрузки. В появившемся тексте найдите строку вида((Строка может незначительно отличатся в зависимости от версии системы.))
 <​file>​linux /​vmlinuz-3.5.0-26-generic root=UUID=39efddef-c527-4bd0-bde5-82278c4fdeb3 ro   quiet splash $vt_handoff</​file>​ <​file>​linux /​vmlinuz-3.5.0-26-generic root=UUID=39efddef-c527-4bd0-bde5-82278c4fdeb3 ro   quiet splash $vt_handoff</​file>​
-и добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). Для загрузки системы нажмите <​key>​C-x</​key>​ или <​key>​F10</​key>​. С этой опцией система будет загружаться дольше обычного,​ так как будет поизводиться сбор информации. После полной загрузки нужно еще раз перезагрузиться.+и добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). Для загрузки системы нажмите <​key>​C-x</​key>​ или <​key>​F10</​key>​. С этой опцией система будет загружаться дольше обычного,​ так как будет производиться сбор информации. После полной загрузки нужно еще раз перезагрузиться.
  
 Эти действия обновляют информацию о всех используемых на этапе загрузки библиотеках и утилитах в файле ///​etc/​readahead/​boot//,​ а в ///​etc/​readahead/​desktop//​ - информацию о загрузке десктоп окружения. При следующей загрузке сервис readahead, при помощи программы ///​sbin/​readahead-list//,​ загрузит библиотеки и программы,​ упоминающиеся в индексе,​ в page cache, что немного уменьшит время загрузки. Эти действия обновляют информацию о всех используемых на этапе загрузки библиотеках и утилитах в файле ///​etc/​readahead/​boot//,​ а в ///​etc/​readahead/​desktop//​ - информацию о загрузке десктоп окружения. При следующей загрузке сервис readahead, при помощи программы ///​sbin/​readahead-list//,​ загрузит библиотеки и программы,​ упоминающиеся в индексе,​ в page cache, что немного уменьшит время загрузки.
Строка 146: Строка 146:
 ==== Настройка Swappiness ==== ==== Настройка Swappiness ====
  
-Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness,​ который по умолчанию имеет значение 60, и контролирует ​процент свободной памятипри ​которой начнется ​активный сброс страниц в раздел [[swap]]. Иными словами,​ при 100-60=40% занятой памяти, Ubuntu уже начнет использовать раздел swap. При большом количестве ОЗУ в компьютере, лучше изменить ​параметр ​vm.swappiness до 10 и тем самым приказать Ubuntu не использовать swap пока занятая ОЗУ не достигнет 100-10=90%. В консоли введите ​следующую команду:<​code bash>​gksu gedit /​etc/​sysctl.conf</​code>​Добавьте строку в конец файла:<​file>​vm.swappiness=10</​file>​+Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness,​ который по умолчанию имеет значение 60, и контролирует,​ каким образом система будет работать с файлом подкачки ([[swap]]). Этот параметр может иметь следующие значения:
  
-----+^ Значение параметра ​     ^ Описание ​        ^ 
 +| vm.swappiness = 0 | Ядро будет использовать файл подкачки только в том случае,​ если значение свободной оперативной памяти будет меньше указанного в параметре vm.min_free_kbytes. |  
 +| vm.swappiness = 1 | Для ядер версии 3.5 и выше, минимальное использование файла подкачки без его полного отключения. |  
 +| vm.swappiness = 10 | Это значение часто рекомендуют для увеличения производительности при наличии достаточного объема оперативной памяти на компьютере | 
 +| 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>​
 +
 +При этом "​агрессивность"​ 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|здесь]]</​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>​Сохраните и перезагрузите компьютер.
-