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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
wiki:ubuntu_optimization [2013/03/11 14:49]
[Ускорение запуска программ, с помощью preload] использование только стандартных утилит для управления пакетами
wiki:ubuntu_optimization [2018/01/10 11:58]
[Настройка Swappiness]
Строка 3: Строка 3:
 <note warning>​Часть информации устарела. При применении к новым выпускам Ubuntu будьте осторожны!</​note>​ <note warning>​Часть информации устарела. При применении к новым выпускам Ubuntu будьте осторожны!</​note>​
  
-=====    Краткое описание руководства =====+===== Краткое описание руководства =====
  
 Эти инструкции будут полезны для оптимизации процесса загрузки,​ его ускорения,​ а также общей оптимизации и ускорения системы. Эти инструкции будут полезны для оптимизации процесса загрузки,​ его ускорения,​ а также общей оптимизации и ускорения системы.
Строка 11: Строка 11:
 ===== Оптимизация загрузки Ubuntu ===== ===== Оптимизация загрузки Ubuntu =====
  
-==== Начальная оптимизация загрузки ==== +==== Оптимизация ​начальной ​загрузки ==== 
-Это хорошая идея - сразу после установки Ubuntu, ​также операцию можно выполнить ​и позже. В этом пункте мы реорганизуем некоторые файлы, ​необходимые при загрузке, сделая тем самым загрузку ubuntu немного быстрее. Все, что нужно ​сделать ​это нажать ESC в меню загрузчика GRUB при включении компьютера,​ затем выбрать ​вторую ​строку ​на выглядит примерно так: /​vmlinuz-2.6.20-15-generic root=UUID=6162302f-3f32-4b73-bb56-c42f4f9fbce2 ...) нажмите кнопку <​key>​e</​key>​ для редактирования строки. ​Добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). ​После ввода нажмите <key>Enter</​key>​ и затем клавишу <key>b</​key> ​для загрузки системы. Первый раз ​система будет загружаться дольше ​чем ​обычно, последующие - будет ​загружаться ​быстрее первоначального ​варианта.+В Ubuntu по умолчанию установлена утилита ''​readahead'', ​которая позволяет ускорить загрузку системы. Для того чтобы эта утилита давала ​максимальный эффектрекомендуется время ​от времени загружать систему с параметром ''​profile'', ​который ​обновляет кэши readaheadЧтобы сделать этонадо во время загрузки компьютера зайти в меню [[GRUB]], зажав <​key>​S</​key> ​при включении компьютера,​ затем выбрать строку ​названием 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>​ 
 +и добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). ​Для загрузки системы ​нажмите <key>C-x</​key>​ или <key>F10</​key>​. С этой опцией система будет загружаться дольше обычного, так как ​будет ​производиться сбор информации. После полной загрузки нужно еще раз перезагрузиться.
  
-==== Оптимизация файловой системы ​====+Эти действия обновляют информацию о всех используемых на этапе загрузки библиотеках и утилитах в файле ///​etc/​readahead/​boot//,​ а в ///​etc/​readahead/​desktop//​ - информацию о загрузке десктоп окружения. При следующей загрузке ​сервис readahead, при помощи программы ///​sbin/​readahead-list//,​ загрузит библиотеки и программы, упоминающиеся в индексе,​ в page cache, что немного уменьшит время загрузки.
  
-Следующие советы предназначены для систем с файловой системой EXT(3|4) ​и ReiserFS. +==== Оптимизация файловой системы ==== 
-   ​*Открыть терминал,​ ввести:<code bash>gksu gedit /​etc/​fstab</​code>​Добавить к строке (/) обозначением корня системы. Другими словами, нужно изменить следующую строку:​<​file>#​ /dev/sdb2 +=== Отключение журнала для корневого раздела === 
-UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 / ext3 defaults,​errors=remount-ro 0 1</​file>​На:<​file># ​/dev/sdb2+  ** Откройте терминал,​ введите: 
 +  .. <code bash>sudo gedit /​etc/​fstab</​code>​ 
 +  .. Найдите следующую после комментария похожего на «/ was on /dev/sda2 during installation" ​строку и приведите ​ее к виду 
 +  .. <​file>#​ / was on /dev/sda2 during installation
 UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 / ext3 defaults,​errors=remount-ro,​noatime,​data=writeback 0 1</​file>​ UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 / ext3 defaults,​errors=remount-ro,​noatime,​data=writeback 0 1</​file>​
-<note important>​**#/​dev/​sdb2\\ UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 ext3** - это лишь частный случай,​ у вас будут другие значения.</​note>​ +  .. добавив '',​noatime,​data=writeback'' ​
-   ​ Теперь введем следующие команды в консоли:<​code bash>gksu gedit /boot/grub/grub.cfg</​code>​Добавьте следующую опцию:<​file>​rootflags=data=writeback</​file>​В конец ​следующей строки:<​file>​# defoptions=quiet splash rootflags=data=writeback</​file>​так<​file>#​ altoptions=(recovery mode) single rootflags=data=writeback</​file>​Сохранить, затем ввести ​команды:<code bash>​sudo update-grub</​code>​Введите ​следующие команды,​ чтобы изменить файловую систему на лету. +  ** Теперь введите следующую команду в консоли:​ 
-<​note>​ПРИМЕЧАНИЕ:​ Посмотрите обозначение ​раздела /dev/sdb2 которые является корнем системы (/). Если корневой раздел (/) обозначается по другому, ​измените /dev/sdb2 на соответствующее. Можете посмотреть /etc/fstab !</​note><​note warning>​**ОПАСНО**:​ Следующая команда только для ​**EXT3** файловой системы! Для ReiserFS это НЕ будет работать, ​для внесения изменений нужно перезагрузить ​компьютер.</​note>​ +  .. <code bash>sudo gedit /etc/default/​grub</​code>​ 
-   ​* ​<code bash>​sudo tune2fs -o journal_data_writeback /​dev/​sdb2</​code>​Это все, перезагрузитесь и войдитескорость должна увеличиться при работе ​с видео, изображениями и аудио файлами+  .. и приведите строку 
-   * Параметры для ​ext4 для обладателей Источником Бесперебойного Питания (ИБП)  +  .. <​file ​bash>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"​</​file>​ 
-        * **barrier=0** Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным,​ что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно;​ современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации;​ если сначала будет создана запись фиксации,​ журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря,​ «шлагбаум» запрещает запись любых блоков,​ посланных после него, до того момента,​ как всё, что было прислано перед «шлагбаумом»,​ будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать,​ что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум barrier=0, мы ускоряем операции записи на разделы ext4. +  .. к следующему виду 
-        * **noatime, nodiratime** – отключение записи времени последнего доступа (для файлов/​директорий). Или **relatime** - атрибут времени доступа (atime) обновляется,​ но только в том случае,​ если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime.  +  .. <​file ​bash>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rootflags=data=writeback"</​file>​ 
-        * **commit** – время между сбросами буферов на диск. Рекомендую commit=100 +  .. Сохраните файл. 
-   * Параметры для btrfs для обладателей Источником Бесперебойного Питания (ИБП) +  ** Обновите конфигурацию загрузчика: 
-        * **nobarrier** Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным,​ что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно;​ современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации;​ если сначала будет создана запись фиксации,​ журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря,​ «шлагбаум» запрещает запись любых блоков,​ посланных после него, до того момента,​ как всё, что было прислано перед «шлагбаумом»,​ будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать,​ что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум nobarrier, мы ускоряем операции записи на разделы btrfs. +  .. <code bash>​sudo update-grub</​code>​ 
-        * **noatime, nodiratime** – отключение записи времени последнего доступа (для файлов/​директорий). Или **relatime** - атрибут времени доступа (atime) обновляется,​ но только в том случае,​ если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime. +  ** Если у вас раздел отформатирован в одну из файловых систем из семейства **Ext** выполните ​следующую команду: 
-        * **nodatacow** – При включенном механизме copy-on-write появляются дополнительные издержки и параметром nodatacow мы отключаем эту возможность,​ которая на desktop компьютере редко используется. +  .. <code bash>​sudo tune2fs -o journal_data_writeback /​dev/​sdb2</​code>​ 
-   ​* **vm.dirty_writeback_centisecs**. Увеличим время между сбросом «грязных» буферов vm.dirty_writeback_centisecs в /​etc/​sysctl.conf. Рекомендую vm.dirty_writeback_centisecs = 15000+  .. Помните, что название вашего раздела с корневой системой может отличатся от /​dev/​sdb2. 
 +  ** Перезагрузите компьютер
 + 
 +=== Параметры для ​Ext4 для обладателей Источником Бесперебойного Питания (ИБП) ​=== 
 +  * **barrier=0** Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным,​ что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно;​ современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации;​ если сначала будет создана запись фиксации,​ журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря,​ «шлагбаум» запрещает запись любых блоков,​ посланных после него, до того момента,​ как всё, что было прислано перед «шлагбаумом»,​ будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать,​ что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум barrier=0, мы ускоряем операции записи на разделы ext4. 
 +  * **noatime, nodiratime** – отключение записи времени последнего доступа (для файлов/​директорий). Или **relatime** - атрибут времени доступа (atime) обновляется,​ но только в том случае,​ если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime.  
 +  * **commit** – время между сбросами буферов на диск. Рекомендую commit=100 
 + 
 +=== Параметры для btrfs для обладателей Источником Бесперебойного Питания (ИБП) ​=== 
 +  * **nobarrier** Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным,​ что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно;​ современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации;​ если сначала будет создана запись фиксации,​ журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря,​ «шлагбаум» запрещает запись любых блоков,​ посланных после него, до того момента,​ как всё, что было прислано перед «шлагбаумом»,​ будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать,​ что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум nobarrier, мы ускоряем операции записи на разделы btrfs. 
 +  * **noatime, nodiratime** – отключение записи времени последнего доступа (для файлов/​директорий). Или **relatime** - атрибут времени доступа (atime) обновляется,​ но только в том случае,​ если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime. 
 +  * **nodatacow** – При включенном механизме copy-on-write появляются дополнительные издержки и параметром nodatacow мы отключаем эту возможность,​ которая на desktop компьютере редко используется. 
 +  * **vm.dirty_writeback_centisecs**. Увеличим время между сбросом «грязных» буферов vm.dirty_writeback_centisecs в /​etc/​sysctl.conf. Рекомендую vm.dirty_writeback_centisecs = 15000
  
 ====Отключение ненужных служб (демонов)==== ====Отключение ненужных служб (демонов)====
-Де́мон (англ. 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>​
 Запускаем:​ Запускаем:​
Строка 89: Строка 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.
Строка 117: Строка 134:
 <note important>​Если Вы не уверены,​ за что отвечает служба,​ не отключайте ее. Отключение нужных служб может привести к полной или частичной неработоспособности как некоторых программ,​ так и системы в целом.</​note>​ <note important>​Если Вы не уверены,​ за что отвечает служба,​ не отключайте ее. Отключение нужных служб может привести к полной или частичной неработоспособности как некоторых программ,​ так и системы в целом.</​note>​
  
 +====Отключение ненужного в автозагрузке====
 +Начиная с версии 11.10 все системные программы в автозагрузке скрыты директивой NoDisplay. В окне "​Автозапуск программ"​ отображаются только программы,​ добавленные пользователем. Для отображения всех программ,​ надо ввести в терминале команду:​
 +<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>​Сохраните и перезагрузите компьютер.
- 
  
  
Строка 135: Строка 191:
 <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>​
Строка 148: Строка 212:
  
 ===== Оптимизация 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}}