Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:ubuntu_optimization [2013/03/16 18:29] [Отключение ненужного в автозагрузке] |
wiki:ubuntu_optimization [2018/01/10 11:59] (текущий) [Настройка Swappiness] |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
<note warning>Часть информации устарела. При применении к новым выпускам Ubuntu будьте осторожны!</note> | <note warning>Часть информации устарела. При применении к новым выпускам Ubuntu будьте осторожны!</note> | ||
- | ===== Краткое описание руководства ===== | + | ===== Краткое описание руководства ===== |
Эти инструкции будут полезны для оптимизации процесса загрузки, его ускорения, а также общей оптимизации и ускорения системы. | Эти инструкции будут полезны для оптимизации процесса загрузки, его ускорения, а также общей оптимизации и ускорения системы. | ||
Строка 11: | Строка 11: | ||
===== Оптимизация загрузки Ubuntu ===== | ===== Оптимизация загрузки Ubuntu ===== | ||
- | ==== Начальная оптимизация загрузки ==== | + | ==== Оптимизация начальной загрузки ==== |
- | Это хорошая идея - сразу после установки Ubuntu, также операцию можно выполнить и позже. В этом пункте мы реорганизуем некоторые файлы, необходимые при загрузке, сделав тем самым загрузку ubuntu немного быстрее. Все, что нужно сделать - это зажать <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, что немного уменьшит время загрузки. | ||
==== Оптимизация файловой системы ==== | ==== Оптимизация файловой системы ==== | ||
Строка 50: | Строка 52: | ||
====Отключение ненужных служб (демонов)==== | ====Отключение ненужных служб (демонов)==== | ||
- | Де́мон (англ. daemon) — в системах класса UNIX — служба, работающая в фоновом режиме без прямого общения с пользователем. | + | [[daemon|Де́мон]] (англ. daemon) — в системах класса UNIX — служба, работающая в фоновом режиме без прямого общения с пользователем. |
- | Демоны обычно запускаются во время загрузки системы. Типичные задачи демонов: серверы сетевых протоколов (HTTP, FTP, электронная почта и др.), управление оборудованием, поддержка очередей печати, управление выполнением заданий по расписанию и т. д. | + | Демоны обычно запускаются во время загрузки системы. Типичные задачи демонов: серверы сетевых протоколов (HTTP, [[FTP]], электронная почта и др.), управление оборудованием, поддержка очередей печати, управление выполнением заданий по расписанию и т. д. |
- | В зависимости от задач, выполняемых компьютером, некоторые из этих демонов можно отключить и, таким образом, съэкономить на времени запуска системы и уменьшить нагрузку на систему во время работы. Для этого воспользуемся утилитой **sysv-rc-conf**. Утилита эта консольная, но очень проста и интуитивно понятна, поэтому использовать ее могут даже люди с паническим страхом терминала. Установка: | + | В зависимости от задач, выполняемых компьютером, некоторые из этих демонов можно отключить и, таким образом, сэкономить на времени запуска системы и уменьшить нагрузку на систему во время работы. Для этого воспользуемся утилитой **sysv-rc-conf**. Утилита эта консольная, но очень проста и интуитивно понятна, поэтому использовать ее могут даже люди с паническим страхом терминала. Установка: |
<code bash> sudo apt-get install sysv-rc-conf </code> | <code bash> sudo apt-get install sysv-rc-conf </code> | ||
Запускаем: | Запускаем: | ||
Строка 104: | Строка 106: | ||
- mountvirtfs - Монтирование виртуальных файловых систем. Не отключать. По умолчанию: S. | - mountvirtfs - Монтирование виртуальных файловых систем. Не отключать. По умолчанию: S. | ||
- networking - Поднимает сетевые интерфейсы и конфигурирует DNS при загрузке, путём сканирования файла /etc/network/interfaces. Отключать не стоит. По умолчанию: 0,6,S. | - networking - Поднимает сетевые интерфейсы и конфигурирует DNS при загрузке, путём сканирования файла /etc/network/interfaces. Отключать не стоит. По умолчанию: 0,6,S. | ||
- | - ntpdate - Синхронизирует время с сервером времени ubuntu (или заданным другим). По умолчанию: S. -Примечание- Если второй системой стоит Windows, лучше оставить процесс включённым. Windows хранит в биосе не универсальное (по гринвичу), а локальное время и при перезагрузке из одной системы в другую они будут пытаться корректировать друг друга. В последних версиях эта проблема вроде бы исправлена. | + | - ntpdate - Синхронизирует время с сервером времени ubuntu (или заданным другим). По умолчанию: S. -Примечание- Если второй системой стоит Windows, лучше оставить процесс включённым. Windows хранит в BIOS не универсальное (по Гринвичу), а локальное время и при перезагрузке из одной системы в другую они будут пытаться корректировать друг друга. В последних версиях эта проблема вроде бы исправлена. |
- nvidia-kernel - Я собирал драйвер nvidia самостоятельно, поэтому мне служба не нужна. Если используете несвободный драйвер nvidia - оставьте службу включённой. По умолчанию: 1,2,3,4,5. | - nvidia-kernel - Я собирал драйвер nvidia самостоятельно, поэтому мне служба не нужна. Если используете несвободный драйвер nvidia - оставьте службу включённой. По умолчанию: 1,2,3,4,5. | ||
- pcmcia - Активирует устройство PCMCIA. Я поставил уровень выполнения в 0,6,S вместо умолчательных 2,3,4,5, поскольку, по моему мнению, оборудование надо подключать в первую очередь. С другой стороны, если устройства PCMCIA не используются, то и службу можно отключать. | - pcmcia - Активирует устройство PCMCIA. Я поставил уровень выполнения в 0,6,S вместо умолчательных 2,3,4,5, поскольку, по моему мнению, оборудование надо подключать в первую очередь. С другой стороны, если устройства PCMCIA не используются, то и службу можно отключать. | ||
- portmap - Демон для управления такими службами, как nis, nfs, и т.д. По умолчанию: 2,3,4,5,0,6,S. | - portmap - Демон для управления такими службами, как nis, nfs, и т.д. По умолчанию: 2,3,4,5,0,6,S. | ||
- | - powernowd - Клиент для управления cpufreq. Нужен в основном для ноутбуков с поддержкой технологиии изменения частоты процессора. Полезен для ноутбуков и наоборот для стационарных компьютеров. По умолчанию: 2,3,4,5. | + | - powernowd - Клиент для управления cpufreq. Нужен в основном для ноутбуков с поддержкой технологии изменения частоты процессора. Полезен для ноутбуков и наоборот для стационарных компьютеров. По умолчанию: 2,3,4,5. |
- ppp и ppp-dns - Мне не нужно. У меня нет dial-up. По умолчанию: ppp - 2,3,4,5 и pppd-dns - S. | - ppp и ppp-dns - Мне не нужно. У меня нет dial-up. По умолчанию: ppp - 2,3,4,5 и pppd-dns - S. | ||
- readahead - Похоже, readahead это разновидность «предзагрузчика». Загружает при старте несколько библиотек в оперативную память, что позволяет некоторым программам быстрее стартовать. Но увеличивает время загрузки системы на 3-4 секунды. По умолчанию: S. | - readahead - Похоже, readahead это разновидность «предзагрузчика». Загружает при старте несколько библиотек в оперативную память, что позволяет некоторым программам быстрее стартовать. Но увеличивает время загрузки системы на 3-4 секунды. По умолчанию: S. | ||
Строка 136: | Строка 138: | ||
<code bash> cd /etc/xdg/autostart && sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop </code> | <code bash> cd /etc/xdg/autostart && sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop </code> | ||
Получим вот такое: | Получим вот такое: | ||
+ | {{ :wiki:программы:autostart.png?800 |}} | ||
+ | Теперь осталось аккуратно отключить то, что не используется и перезагрузиться. На скриншоте ненужные мне программы и сервисы уже отключены. | ||
+ | Для возвращения окна "Автозапуск программ" в исходное состояние, можно воспользоваться командой: | ||
+ | <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>Сохраните и перезагрузите компьютер. | ||
- | |||
Строка 154: | Строка 192: | ||
<note warning>В старых версиях Ubuntu протокол IPv6 отключается по-другому</note> | <note warning>В старых версиях Ubuntu протокол IPv6 отключается по-другому</note> | ||
- | ==== Ускорение запуска программ, с помощью preload ==== | ||
+ | ==== Ускорение запуска программ, с помощью preload ==== | ||
**Preload** -- демон, который собирает информацию о наиболее часто используемых программах, и кэширующий их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Для установки нужно просто выполнить в терминале | **Preload** -- демон, который собирает информацию о наиболее часто используемых программах, и кэширующий их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Для установки нужно просто выполнить в терминале | ||
<code bash>sudo apt-get install preload</code> | <code bash>sudo apt-get install preload</code> | ||
- | или запустить [[Центр приложений Ubuntu]], найти в нем preload и установить его. Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле ///etc/preload.conf// не обязательно. | + | или запустить [[Центр приложений Ubuntu]], найти в нем preload и установить его. |
- | ==== Кеширование символьных таблиц ==== | + | После установки preload перезагрузите компьютер и выполните в консоли команды |
+ | <code bash>sudo touch /var/lib/preload/preload.state | ||
+ | sudo chmod 600 /var/lib/preload/preload.state | ||
+ | sudo /etc/init.d/preload restart</code> | ||
+ | Проверить работу Preload можно посмотрев содержимое preload.state | ||
+ | <code>sudo cat /var/lib/preload/preload.state</code> | ||
+ | Если файл не пуст, значит демон работает. | ||
+ | Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле ///etc/preload.conf// не обязательно. | ||
+ | ==== Кеширование символьных таблиц ==== | ||
Создайте пустой каталог | Создайте пустой каталог | ||
<code>mkdir ~/.compose-cache</code> | <code>mkdir ~/.compose-cache</code> | ||
Строка 167: | Строка 213: | ||
===== Оптимизация DE ===== | ===== Оптимизация DE ===== | ||
- | ==== Ускорение Gnome ==== | + | ==== Ускорение GNOME 2 ==== |
* Открыть текстовый редактор и скопировать туда следующие строки<file>gtk-menu-popup-delay = 0</file><file>gtk-menu-popdown-delay = 0</file><file>gtk-menu-bar-popup-delay = 0</file>сохранить в своем "домашнем" каталоге под названием **.gtkrc-2.0** (не забыть про лидирующую точку) и перегрузить иксы. | * Открыть текстовый редактор и скопировать туда следующие строки<file>gtk-menu-popup-delay = 0</file><file>gtk-menu-popdown-delay = 0</file><file>gtk-menu-bar-popup-delay = 0</file>сохранить в своем "домашнем" каталоге под названием **.gtkrc-2.0** (не забыть про лидирующую точку) и перегрузить иксы. | ||
* Запустить gconf-editor<code>/apps/metacity/general</code> поставить галочку reduced_resources<code>/apps/panel/global</code> убрать галочку enable_animations<code>/desktop/gnome/interface</code> убрать галочку accessibility. <code>/apps/panel/global/panel_animation_speed</code> Установить текстовый параметр в значение panel-speed-fast, для ускорения анимации панели. Перезапустить сессию Gnome. | * Запустить gconf-editor<code>/apps/metacity/general</code> поставить галочку reduced_resources<code>/apps/panel/global</code> убрать галочку enable_animations<code>/desktop/gnome/interface</code> убрать галочку accessibility. <code>/apps/panel/global/panel_animation_speed</code> Установить текстовый параметр в значение panel-speed-fast, для ускорения анимации панели. Перезапустить сессию Gnome. | ||
- | |||
==== Ускорение запуска KDE программ в среде Gnome ==== | ==== Ускорение запуска KDE программ в среде Gnome ==== | ||
- | |||
* В gconf-editor устанавливаем значения:<code>/desktop/gnome/thumbnailers/disable_all = true</code><code>/apps/nautilus/preferences/show_image_thumbnails = never</code>Можно также удалить старые миниатюры, удалив директорию ~/.thumbnails | * В gconf-editor устанавливаем значения:<code>/desktop/gnome/thumbnailers/disable_all = true</code><code>/apps/nautilus/preferences/show_image_thumbnails = never</code>Можно также удалить старые миниатюры, удалив директорию ~/.thumbnails | ||
* Ускорим старт Qt программ. Для этого в Меню - Система - Параметры - Запускаемые приложения добавим запускаемую программу /usr/bin/kdeinit под именем FastQt. После перезагрузки компьютера, Qt программы будут быстрее стартовать, так как не нужно дополнительно запускать «минимальный набор KDE». | * Ускорим старт Qt программ. Для этого в Меню - Система - Параметры - Запускаемые приложения добавим запускаемую программу /usr/bin/kdeinit под именем FastQt. После перезагрузки компьютера, Qt программы будут быстрее стартовать, так как не нужно дополнительно запускать «минимальный набор KDE». | ||
==== Ускорение Unity ==== | ==== Ускорение Unity ==== | ||
- | + | * Установите, если не установлен ''[[ccsm|compizconfig-settings-manager]]''. | |
- | * Установите, если не установлен compizconfig-settings-manager. | + | * Запустите Менеджер настройки CompizConfig (Сompiz Configuration Settings Manager - ccsm) и перейдите в //OpenGL Plugin//, в котором отключите //Синхронизировать с VBlank//. |
- | * Запустите Менеджер настройки CompizConfig (Сompiz Configuration Settings Manager - ccsm) и перейдите в OpenGL Plugin, в котором отключите "Синхронизировать с VBlank". | + | * Перейдите в //Composite// и отключите //Определить частоту обновления//. |
- | * Перейдите в Composite и отключите "Определить частоту обновления". | + | * Отключите в разделе //Эффекты// плагины //Анимация// (Animations) и/или //Проявление/исчезание окон//. |
- | * Отключите в разделе Эффекты плагины Анимация (Animations) и/или Проявление/исчезание окон. | + | * Если не используете сенсорные устройства, то отключите плагин //Unity MT Grab Handles//. |
- | * Если не используете сенсорные устройства, то отключите плагин Unity MT Grab Handles. | + | * В //Общие// - //Общие настройки// выставьте //Задержка отклика// в 2000. |
- | * В Общие - Общие настройки выставьте "Задержка отклика" в 2000. | + | |
- | * Если у вас слабая видеоподсистема, то попробуйте использовать Unity2D без 3D эффектов. | + | |
===== Ссылки ===== | ===== Ссылки ===== | ||
- | * Обсуждение статьи [[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|Уменьшение времени загрузки Ubuntu Linux]] | ||
+ | * [[http://forum.ubuntu.ru/index.php?topic=45471.msg332528#msg332528|Если Firefox долго закрывается, медленно работает]] | ||
{{tag>ускорение оптимизация настройка_системы unity gnome kde}} | {{tag>ускорение оптимизация настройка_системы unity gnome kde}} |