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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ubuntu_optimization [2013/04/04 14:37]
ZwSZwSZwS Перенес сюда информацию из ускорение_запуска_программ
wiki:ubuntu_optimization [2018/01/10 11:59] (текущий)
EvangelionDeathEvangelionDeathEvangelionDeathUbuntu Mate 16.04 х64 [Настройка 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, что немного уменьшит время загрузки.
Строка 141: Строка 141:
 Теперь осталось аккуратно отключить то, что не используется и перезагрузиться. На скриншоте ненужные мне программы и сервисы уже отключены. Теперь осталось аккуратно отключить то, что не используется и перезагрузиться. На скриншоте ненужные мне программы и сервисы уже отключены.
  
 +Для возвращения окна "​Автозапуск программ"​ в исходное состояние,​ можно воспользоваться командой:​ 
 +<code bash> cd /​etc/​xdg/​autostart && sudo sed --in-place '​s/​NoDisplay=false/​NoDisplay=true/​g'​ *.desktop </​code>​
 ===== Системная оптимизация ===== ===== Системная оптимизация =====
 ==== Настройка 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>​Сохраните и перезагрузите компьютер.
- 
  
  
Строка 158: Строка 191:
 В Linux большинство программ используют протокол IPv4 для подключения к интернету. В Ubuntu IPv6 включен по умолчанию,​ отключим его, если он вызывает проблемы в сети:<​code bash>​gksu gedit /​etc/​default/​grub</​code>​Найдите параметр GRUB_CMDLINE_LINUX_DEFAULT и аккуратно дополните значением ipv6.disable=1 Сохраните изменения. Вызовите <code bash>​sudo update-grub</​code>​ для применений изменений,​ перезагрузите компьютер. В Linux большинство программ используют протокол IPv4 для подключения к интернету. В Ubuntu IPv6 включен по умолчанию,​ отключим его, если он вызывает проблемы в сети:<​code bash>​gksu gedit /​etc/​default/​grub</​code>​Найдите параметр GRUB_CMDLINE_LINUX_DEFAULT и аккуратно дополните значением ipv6.disable=1 Сохраните изменения. Вызовите <code bash>​sudo update-grub</​code>​ для применений изменений,​ перезагрузите компьютер.
 <note warning>​В старых версиях Ubuntu протокол IPv6 отключается по-другому</​note>​ <note warning>​В старых версиях Ubuntu протокол IPv6 отключается по-другому</​note>​
 +
  
 ==== Ускорение запуска программ,​ с помощью preload ==== ==== Ускорение запуска программ,​ с помощью preload ====
Строка 172: Строка 206:
  
 Настройки preload по умолчанию подходят большинству,​ поэтому изменять что-либо в файле ///​etc/​preload.conf//​ не обязательно. Настройки preload по умолчанию подходят большинству,​ поэтому изменять что-либо в файле ///​etc/​preload.conf//​ не обязательно.
- 
 ==== Кеширование символьных таблиц ==== ==== Кеширование символьных таблиц ====
 Создайте пустой каталог ​ Создайте пустой каталог ​
Строка 197: Строка 230:
  
 ===== Ссылки ===== ===== Ссылки =====
-  * Обсуждение статьи ​[[http://​forum.ubuntu.ru/​index.php?​topic=216048.0|на форуме]].+  * [[http://​forum.ubuntu.ru/​index.php?​topic=216048.0|Обсуждение статьи ​на форуме]]
   * Сопутствующие темы можно найти на форуме [[http://​forum.ubuntu.ru/​index.php?​topic=15450.0|здесь]] и [[http://​forum.ubuntu.ru/​index.php?​topic=18527.0|здесь]]   * Сопутствующие темы можно найти на форуме [[http://​forum.ubuntu.ru/​index.php?​topic=15450.0|здесь]] и [[http://​forum.ubuntu.ru/​index.php?​topic=18527.0|здесь]]
-  * Как собрать ядро под конкретную аппаратную конфигурацию ​[[http://​www.linuxcenter.ru/​lib/​articles/​system/​kernel26_install.phtml]] +  * [[http://​www.linuxcenter.ru/​lib/​articles/​system/​kernel26_install.phtml|Ядерная физика для домохозяйки]]. Подробное руководство по сборке ​ядра. Может не подходить для ​новых ядер
-  * Перенос части операций с винчестером в оперативную ​память при ​работе с /tmp -> снижение обращений к винчестеру [[http://​the-bosha.ru/​2010/​01/​20/​tmpfs|статья]] **используйте только когда много памяти** +  * [[http://​the-bosha.ru/​2010/​01/​20/​tmpfs|Используем tmpfs для небольшого ускорения работы ОС]] **используйте только когда много памяти** 
-  * Ускорение Ubuntu ​http://vasilisc.com/speedup_ubuntu +  * [[http://dals.habrahabr.ru/blog/​48367/​|Разгон Firefox при помощи TmpFS]] 
-  * Более актуальная версия данной статьи об [[http://​vasilisc.com/​speedup_ubuntu|Ускорение Ubuntu]]. После проверки временем,​ советы будут переноситься в данную вики. +  * [[http://​vasilisc.com/​speedup_ubuntu|Ускорение Ubuntu]] 
-  * [[http://​www.opennet.ru/​tips/​info/​1712.shtml|Ещё советы по ускорению Linux]] +  * [[http://​www.opennet.ru/​tips/​info/​1712.shtml|Уменьшение времени ​загрузки Ubuntu ​Linux]] 
-  * [[http://​forum.ubuntu.ru/​index.php?​topic=45471.msg332528#​msg332528|Ускорение работы ​Firefox. Использование БД Sqlite]] +  * [[http://​forum.ubuntu.ru/​index.php?​topic=45471.msg332528#​msg332528|Если Firefox ​долго закрывается, медленно работает]]
-  * [[http://​the-bosha.ru/​2010/​01/​20/​tmpfs/​|Перенос части операций с винчестером в оперативную память -> снижение обращений к винчестеру (системные разделы)]] +
-  * [[http://​dals.habrahabr.ru/​blog/​48367/​|Перенос части операций с винчестером в оперативную память -> снижение обращений к винчестеру (профиль Firefox)]]+
  
 {{tag>​ускорение оптимизация настройка_системы unity gnome kde}} {{tag>​ускорение оптимизация настройка_системы unity gnome kde}}