Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:ubuntu_optimization [2013/04/04 14:45] [Ссылки] убрал некоторые дублирующиеся ссылки |
wiki:ubuntu_optimization [2018/01/10 11:58] [Настройка 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: | Строка 190: | ||
В 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: | Строка 205: | ||
Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле ///etc/preload.conf// не обязательно. | Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле ///etc/preload.conf// не обязательно. | ||
- | |||
==== Кеширование символьных таблиц ==== | ==== Кеширование символьных таблиц ==== | ||
Создайте пустой каталог | Создайте пустой каталог |