Виртуальная реальность

Операция «Оптимизация». Советы по ускорению Ubuntu. Увеличение скорости работы Ubuntu Кэширование в Linux

Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки (раздел swap). Есть такой параметр vm.swappiness , который по умолчанию имеет значение 60, и контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap. Иными словами, при 100-60=40% занятой памяти, Ubuntu уже начнет использовать раздел swap. При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 и тем самым приказать Ubuntu не использовать swap пока занятая ОЗУ не достигнет 100-10=90%. Установим значение 10 вместо 60. В консоли введите следующую команду:

Echo 10 > /proc/sys/vm/swappiness

Sysctl -w vm.swappiness=10

Для сохранения настройки после перезагрузки внесите в конец файла /etc/sysctl.conf следующую строку:

Vm.swappiness=10

Что бы сразу применить настройку:

Sysctl -p

В дополнение можно сказать еще о нескольких параметрах.
В псевдофайле vfs_cache_pressure хранится значение - уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Увеличение этого параметра заставляет ядро активнее выгружать неиспользуемые страницы памяти из кеша, т.е. количество выделяемой оперативной памяти под кеш будет расти медленнее, что в свою очередь снизит вероятность того, что будет задействован раздел swap. При уменьшении этого параметра ядро, наоборот, будет дольше держать страницы памяти в кеше, в том числе и в swap"е. Это имеет смысл при небольшом количестве ОЗУ, например, если у нас 512 МБ памяти, то параметр vfs_cache_pressure можно выставить равным 50. Это позволит сократить количество дисковых операций в swap разделе, так удаление неиспользуемых страниц будет происходить реже. Дальнейшее уменьшение этого параметра может привести к нехватке памяти.
Если вы хотите ускорить работу системы и у вас достаточно оперативки (2 Гб и более), то измените значение системы, так: swappiness = 10 , vfs_cache_pressure = 1000 (по умолчанию 100) , внесите в файл /etc/sysctl.conf следующую строку:

Vm.vfs_cache_pressure=1000

или на лету:

Sysctl -w vm.vfs_cache_pressure=1000

Кэширование в Linux

При записи данных на диск (любой программой) Linux кэширует эту информацию в области памяти, называемой Page Cache (страничный кэш). Информацию об этой области памяти можно посмотреть с помощью команд free, vmstat или top . Полную информацию об этой области памяти можно посмотреть в файле /proc/meminfo . Ниже приведен пример этой файла на сервере с 4-мя GB RAM:

MemTotal: 3950112 kB
MemFree: 622560 kB
Buffers: 78048 kB
Cached: 2901484 kB
SwapCached: 0 kB
Active: 3108012 kB
Inactive: 55296 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3950112 kB
LowFree: 622560 kB
SwapTotal: 4198272 kB
SwapFree: 4198244 kB
Dirty: 416 kB
Writeback: 0 kB
Mapped: 999852 kB
Slab: 57104 kB
Committed_AS: 3340368 kB
PageTables: 6672 kB
VmallocTotal: 536870911 kB
VmallocUsed: 35300 kB
VmallocChunk: 536835611 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB

Размер Page Cache показан в параметре "Cached", в данном примере он составляет 2,9 GB. При записи страниц в память размер параметра "Dirty" увеличивается. При начале записи на диск будет увеличиваться параметр "Writeback" до тех пор, пока запись не закончится. Достаточно сложно увидеть параметр "Writeback" высоким, так как его значение увеличивается только во время опроса, когда операции ввода/вывода (I/O) поставлены в очередь, но еще не записаны на диск.
Linux обычно записывает данные из кэша на диск с помощью процесса pdflush. В любой момент в системе запущено от 2 до 8 потоков pdflush. В файле /proc/sys/vm/nr_pdflush_threads можно посмотреть сколько в данный момент активных потоков. Каждый раз все существующие потоки pdflush заняты по крайней мере 1 секунду. Новые потоки пытаются записать данные в свободные очереди устройств, таким образом, чтобы на каждое активное устройство был 1 поток сбрасывающий данные из кэша. Каждый раз по прошествии секунды без какой-либо активности со стороны pdflush убирается 1 поток. В Linux можно настроить минимальное и максимальное количество pdflush потоков.

Настройка pdflush
Каждый поток pdflush контролируется несколькими параметрами в /proc/sys/vm:

  • /proc/sys/vm/dirty_writeback_centisecs (default 500): в сотых долях секунд. Этот параметр означает как часто pdflush возобновляет работу для записи данных на диск. По умолчанию возобновляет работу 2 потока каждые 5 секунд.
    Возможно недокументированное поведение, которое пресекает попытки уменьшения dirty_writeback_centisecs для более агрессивного кэширования данных процессом pdflush. Например, в ранних версиях ядра 2.6 Linux в файле mm/page-writeback.c код включал логику, которая описывалась "если запись на диск длится дольше, чем параметр dirty_writeback_centisecs, тогда нужно поставить интервал в 1 секунду". Эта логика описана только в коде ядра, и ее функционирование зависит от версии ядра Linux. Так как это не очень хорошо, поэтому вы будете защищены от уменьшения этого параметра.
  • code>/proc/sys/vm/dirty_expire_centiseconds (default 3000): в сотых долях секунд. Этот параметр указывает как долго данные могут находится в кэше, после чего должны быть записаны на диск. Значение по умолчанию очень долгое: 30 секунд. Это означает, что при нормальной работе до тех пор пока в кэш не запишется достаточно данных для вызова другого метода pdflush, Linux не будет записывать данные на диск, находящиеся в кэше менее 30 секунд.
  • /proc/sys/vm/dirty_background_ratio (default 10): Максимальный процент оперативной памяти, который может быть заполнен страничным кэшем до записи данных на диск. Некоторые версии ядра Linux могут этот параметр устанавливать в 5%.
    В большинстве документации этот параметр описывается как процент от общей оперативной памяти, но согласно исходным кодам ядра Linux это не так. Глядя на meminfo, параметр dirty_background_ratio расчитывается от величины MemFree + Cached - Mapped. Поэтому для нашей демонстрационной системы 10% составляет немного меньше, чем 250MB, но не 400MB.

Когда pdflush начинает запись?
В конфигурации по умолчанию, данные, записываемые на диск, находятся в памяти до тех пор пока:

Если на сервере операции записи происходят часто, то однажды будет достигнут параметр dirty_background_ratio , и вы сможете увидеть, что вся запись на диск идет только через этот параметр не дожидаясь истечения параметра dirty_expire_centiseconds .

Процесс записи страниц
Параметр /proc/sys/vm/dirty_ratio (default 40) - максимальный процент общей оперативной памяти, который может быть выделен под страничный кэш, до того как pdflush будет писать данные на диск.

Примечание: Во время записи на диск блокируются все процессы на запись, а не только тот который заполнил буфер на запись. Это может спровоцировать блокировку одним процессов всех операций вводы/вывода в системе.

Рекомендации по оптимизации Linux для операций, требующих частой записи
Обычно, при попытке увеличения производительности дисковой подсистемы сталкиваются с проблемой, что Linux буферизует слишком много информации сразу. Это особенно заметно для операций, требующих синхронизации файловой системы, использующих вызовы fsync. Если во время такого вызова в кэше много данных, то система может "подвиснуть" пока не закончится этот вызов.
Другая частая проблема происходит потому, что слишком много требуется записать до того, как начнется запись на физический диск, операции ввода/вывода происходят чаще, чем при нормальной работе.

  • dirty_background_ratio: Основной инструмент настройки. Обычно уменьшают этот параметр. Если ваша цель снизить количество данных, хранимое в кэше, так что данные будут писаться на диск постепенно, а не все сразу, то уменьшение этого параметра наиболее эффективный путь. Значение по умолчанию наиболее приемлимо для систем имеющих много оперативной памяти и медленные диски.
  • dirty_ratio: Второй по значимости параметр для настройки. При значительном снижении этого параметра приложения, которые должны писать на диск, будут блокироваться все вместе.
  • dirty_expire_centisecs: Попробуйте уменьшить этот параметр, но не сильно. Он позволяет уменьшить время нахождения страниц в кэше до записи на диск, но с другой стороны это значительно снизит среднюю скорость записи на диск, что особенно проявится на системах с медленными дисками.

В итоге получим
В файле /etc/sysctl.conf вносим:

Vm.dirty_background_ratio = 10 vm.dirty_ratio = 40

После синхронизируем данные кэша и диска, очистим кэш и сохраним параметры:

Sync; echo 3 > /proc/sys/vm/drop_caches; sysctl -p

Чтобы уменьшить количество финализаций записи на диск необходимо подкорректировать:

Vm.dirty_writeback_centisecs = 15000

В этой статье будет дан список советов по оптимизации Ubuntu 14.04 после того как она установлена. Цель которых повысить скорость ее работы и удобство ее использования.

Настройка автозагрузки программ в Ubuntu 14.04

В Убунту, уже давно, есть графический интерфейс для управления автозапуском программ. Это программа "Автоматически запускаемые приложения" (gnome-session-properties ). Найти ее можно в главном меню Dash. Однако есть некоторая проблема - в этой программе отображаются не все автоматически запускаемые программы. Чтобы это исправить нужно, в терминале, выполнить две команды:

sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

sed -i "s/NoDisplay=true/NoDisplay=false/g" ~/.config/autostart/*.desktop

После этого, в апплете "Автоматически запускаемые приложения" будут видны все ярлыки из папок автозагрузки:

Отключайте программы осторожно. Если не знаете назначение программы, которую хотите отключить, почитайте про нее предварительно.

Примечание по автозагрузке программ

Вообще в Ubuntu есть две системы автозагрузки:

  1. Автозагрузка вместе с графической оболочкой (Unity, GNOME и т.п.).
  2. Автозагрузка вместе с ядром системы, в текстовом режиме.

Апплет "Автоматически запускаемые приложения" управляет первым типом загрузки. Физически же такая загрузка выполняется через.desktop файл программы (аналог ярлыков Windows), который помещается в одну из двух папок:

  1. /etc/xdg/autostart
  2. ~/.config/autostart

В первом случае программа будет запущена для любого пользователя. Во втором случае только для того, в чьей домашней папке будет размещен ярлык программы.

Можно в эти папки копировать ярлыки нужных программ даже вручную. Ярлыки всех доступных программ размещены в папке /usr/share/applications (из этой папки их берет Dash). Однако скопировать ярлык недостаточно, в нем нужно для свойства "X-GNOME-Autostart-enabled " указать значение true.

Предварительная загрузка программ на старте Ubuntu

Есть специальные программы, которые управляют очередностью загрузки бинарных модулей в процессе запуска операционной системы. Они упорядочивают размещение загружаемых бинарников таким образом, чтобы снизить их фрагментацию в пределах файловой системы. И за счет снижения фрагментации ускорить их загрузку с диска.

Во многих советах по оптимизации Ubuntu упоминают программу preload . Ее установку можно выполнить через терминал:

sudo apt-get install preload

sudo touch /var/lib/preload/preload.state

sudo chmod 644 /var/lib/preload/preload.state

/etc/init.d/preload restart

Однако прямо "из коробки" в Ubuntu устанавливается другая программа для этой же задачи - ureadahead . Нужно только включить ее автозапуск.

Примечание

Использование этих программ имеет смысл только в случае если на компьютере установлен механический (HDD) диск. Если диск электронный (SSD), тогда смысла в этих программах нет.

Уменьшить размер системных журналов (логов) Ubuntu

Ubuntu ведет целую кучу журналов. Как общесистемных, так и журналов отдельных программ и служб.

Как правило все эти журналы хранятся в папке /var/log . Если эта папка размещена на разделе root (/) то в некоторых случаях возможно такое увеличение размера этой папки, что будет забито все свободное место на разделе root, вплоть до невозможности запуска операционной системы. Это нетипичная ситуация, но такое случается.

Поэтому лучше настроить систему хранения журналов таким образом, чтобы максимально снизить объем хранимой информации.

Делать это правильнее через настройку специальной программы logrotate . Эта программа удаляет архивные копии журналов с указанной периодичностью. Настройки программы хранятся в папке /etc/logrotate.d . Каждый файл в этой папке определяет управление журналами конкретной программы. Например файл /etc/logrotate.d/rsyslog это управление системными журналами. Для уменьшения размера хранимых журналов, в этих файлах нужно указать параметры rotate 0 и daily . Можно также добавить и ограничение по размеру журнала, например size 10M (10 мегабайт).

sudo gedit /etc/logrotate.d/rsyslog

И затем отредактировать этот файл. Так же можно сделать с другими файлами в этой папке. Можно изменить глобальные настройки для программы logrotate , через файл /etc/logrotate.conf .

После изменения настроек ротации журналов, можно удалить все старые журналы (логи). Команда в терминале:

sudo find /var/log -type f -name "*.gz" -delete

Tmp папку в оперативную память

Можно переместить папку временных файлов в оперативную память. Через редактирование файла fstab:

sudo gedit /etc/fstab

и добавить строку tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

Однако делать это нужно с осторожностью.

Во-вторых в этой папки какие-то ваши программы могут хранить данные, которые они используют после перезапуска системы.

В общем сначала изучите содержимое этой папки на диске и затем уже принимайте решение о ее переносе в оперативную память.

Использование swap на диске

Можно изменить условия при которых система начинает использовать дисковый swap. По умолчанию, Ubuntu начинает использовать дисковый swap, когда оперативная память занята на 40% или более. Можно изменить это поведение.

sudo gedit /etc/sysctl.conf

и в конец файла добавить строку: vm.swappiness=10

Затем выполнить перезагрузку параметров: sudo sysctl -p

Параметр vm.swappiness=10 указывает, что дисковый своп будет использован при заполнении оперативной памяти на 90%.

Изменение параметров кэширования записи на диск

Ubuntu кэширует (во оперативную память) все операции записи на диск. И выполняет их в отложенном режиме. Управляя настройками кэша записи можно ускорять работу системы с риском потери данных, либо наоборот замедлять работу, уменьшая риск потери данных. Есть несколько параметров кэширования записи на диск, при помощи которых можно получать различные эффекты.

Основные параметры:

  • vm.dirty_background_ratio - размер оперативной памяти для размещения подготовленных для записи страниц кэша.
  • vm.dirty_ratio - размер оперативной памяти для размещения общего кэша записи.

Вспомогательные параметры:

  • vm.dirty_expire_centiseconds - указывает интервал времени нахождения подготовленных для записи страниц кэша в памяти.
  • vm.dirty_writeback_centisecs - указывает интервал времени по истечении которого системный процесс, выполняющий сброс кэша на диск, выходит из спящего режима и проверяет необходимость выполнения операций сброса кэша на диск.

Все эти параметры записываются в файл sudo gedit /etc/sysctl.conf.

Пример 1. Увеличение размера кэша записи (ускорение работы системы):

  • vm.dirty_background_ratio = 50
  • vm.dirty_ratio = 80

Пример 2. Уменьшение размера кэша записи:

  • vm.dirty_background_ratio = 5
  • vm.dirty_ratio = 10

Узнать текущие значения этих параметров можно командой sysctl -a | grep dirty .

Изменять эти параметры нужно с осторожностью. Четко понимая их взаимное влияние, их связь с размером оперативной памяти, а также возможные побочные эффекты.

Например увеличение размера кэша или интервалов времени может привести к потере большого количества данных при отключении питания или критическом сбое системы.

Или большой размер кэша в комплексе с большим объемом запросов на запись может периодически создавать ситуацию когда будут на длительное время блокироваться запросы на запись, поскольку системе нужно будет сбросить на диск большой объем данных из заполненного кэша.

Ускорение меню Dash

Можно отключить поиск в Интернет-источниках (wikipedia) когда вы пишите что-то в поисковой строке меню Dash. Через графический интерфейс: "Настройки - защита и приватность - поиск: отображать результаты поиска в Интернет".

Или через терминал: gsettings set "com.canonical.Unity.Lenses" remote-content-search none.

Кроме этого можно отключить и поиск коммерческих предложений в онлайн-магазинах. Команда в терминале:

gsettings set "com.canonical.Unity.Lenses" disabled-scopes "["more_suggestions-amazon.scope","more_suggestions-u1ms.scope","more_suggestions-populartracks.scope", "music-musicstore.scope","more_suggestions-ebay.scope", "more_suggestions-ubuntushop.scope","more_suggestions-skimlinks.scope"]"

Добавить кодировку Windows в текстовый редактор Gedit

Чтобы не было "кракозябр", при открытии текстовых файлов Windows, в редакторе Gedit нужно добавить кодировку Windows-1251. Команда в терминале:

gsettings set org.gnome.gedit.preferences.encodings auto-detected "["UTF-8", "WINDOWS-1251", "CURRENT", "ISO-8859-15", "UTF-16"]"

Скроллбары Unity традиционного вида

По умолчанию, в Unity, скроллбары скрываемые. Но можно сделать чтобы они были видны постоянно. Команда в терминале:

gsettings set com.canonical.desktop.interface scrollbar-mode normal

Простой, удобный MP3 плеер под Ubuntu

Из коробки в Ubuntu устанавливается музыкальный плеер rhythmbox. Он довольно монстроузный. Можно его удалить и установить более вменяемый плеер.

sudo apt-get remove rhythmbox

sudo apt-get install Audacious

Audacious небольшой плеер без лишних наворотов:

sudo apt-get install qmmp

Добавление клавиатурных сокращений для запуска программ

Регулярно используемые программы, как например Наутилус, можно запускать с клавиатуры, если назначить сочетание клавиш. Это делается через графический апплет "Настройки - Клавиатура - Комбинации клавиш":

В секции "Дополнительные комбинации" можно добавлять свои команды запуска и связывать их с клавишами.

Вначале добавляется команда. Затем, в списке команд, на нужной строке кликнуть мышью и нажать желаемое сочетание клавиш.

Свернуть все окна (Открыть Рабочий стол) в Ubuntu

В Ubuntu 14.04, по умолчанию, свернуть все открытые окна можно с клавиатуры: Ctrl + Win + D . Кроме этого можно добавить кнопку на панель запуска, которая будет выполнять это же действие. Это делается через графический апплет "Настройки - Оформление - Режим":

Сочетание клавиш Ctrl + Win + D , на мой взгляд, неудобно. В Windows используется Win + D (такое сочетание было и в 11-х версиях Ubuntu). Для того чтобы изменить это сочетание нужно установить программу compizconfig-settings-manager . Затем запустить ее и в разделе "Рабочий стол" открыть "Ubuntu Unity Plugin ":

Параметр "Show desktop " определяет сочетание клавиш для этого действия.

Для энтузиастов

Для тех, кто любит заняться виртуальным сексом, могу порекомендовать пару программ.

gsettings

Консольная программа. Дает возможность изменять большое количество параметров системы. Настройки организованы в виде дерева - схемы, в схемах ключи, которым можно присваивать значения.

Устанавливается из коробки. Команда gsettings help выдаст список параметров. Например gsettings list-recursively выдает общий список схем, ключей и текущих значений.

dconf

Графическая программа. Также позволяет изменять системные настройки. Нужно устанавливать (sudo apt-get install dconf ).

В принципе, используя эти две программы, можно засунуть руку по локоть в анус Убунте:) Но будьте осторожны, ей это может не понравиться:)

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь - поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354 . Или на телефон +7 918-16-26-331 .

Даже небольшая сумма может помочь написанию новых статей:)

Де́мон (англ. daemon) - в системах класса UNIX - служба, работающая в фоновом режиме без прямого общения с пользователем. Демоны обычно запускаются во время загрузки системы. Типичные задачи демонов: серверы сетевых протоколов (HTTP , FTP , электронная почта и др.), управление оборудованием, поддержка очередей печати, управление выполнением заданий по расписанию и т. д. В зависимости от задач, выполняемых компьютером, некоторые из этих демонов можно отключить и, таким образом, сэкономить на времени запуска системы и уменьшить нагрузку на систему во время работы. Для этого воспользуемся утилитой sysv-rc-conf . Утилита эта консольная, но очень проста и интуитивно понятна, поэтому использовать ее могут даже люди с паническим страхом терминала. Установка:

sudo apt-get install sysv-rc-conf

Запускаем:

sudo sysv-rc-conf

В терминале получаем следующее: Управление осуществляется несколькими клавишами: Пробел - ставим/убираем крестик, + - - остановка/запуск процесса, Q - выход.

Цифры в верхей строчке - это уровни выполнения. Для отключения сервиса, надо просто убрать крестик со всех уровней.

    Acpi-support - Лучше оставить уровень по умолчанию. То есть: 2,3,4,5.

    Acpid - Демон acpi. Этот и предыдущий процессы отвечают за управление питанием и очень важны и для ноутбуков, и для рабочих станций, так что лучше оставить их включенными. По умолчанию: 2,3,4,5.

    Adjtimex - Инструмент для тонкой подстройки часов в ядре. Обычно в списке загрузки его нет. В исключительных случаях, если он всё же находится в этом списке, значит тому были веские причины и лучше оставить его включенным.

    Alsa - Если используется звуковая подсистема alsa, то да, запуск надо оставить. Но если у вас есть служба alsa-utils, то эту можно отключить. По умолчанию: выключена, если включена alsa-utils.

    Alsa-utils - В моей системе эта служба заменяет alsa, так что я выключил alsa и включил эту на уровне S. -Примечание- Говоря «Выключил» я подразумеваю - снял все «X» со всех уровней выполнения. Если у вас их и не было - замечательно. Продолжаем настройку. По умолчанию: уровень выполнения S.

    Anacron - Подсистема cron, которая выполняет любую его задачу, которая не была выполнена вовремя. Чаще всего такое случается, если в момент наступления задачи по cron ваш компьютер был выключен. Например, updatedb запланирован каждый день на 2 часа ночи, но в это время компьютер не работал. При запуске компьютера anacron попытается определить пропущенные задачи и выполнит их. Я убрал эту службу, поскольку не так часто выключаю свой ноутбук, но в большинстве случаев она должна быть включена. По умолчанию: 2,3,4,5.

    Apmd - Эта служба меня немного смутила. У меня уже включен acpid, так зачем мне включать ещё и apmd? Если ваш компьютер не настолько старый, чтоб даже не поддерживать acpi, попробуйте отключить эту службу. Я отключил. По умолчанию: 2,3,4,5.

    Atd - Планировщик, наподобие cron. Я отключил. По умолчанию: 2,3,4,5.

    Binfmt-support - Поддержка ядром других форматов бинарников. Я оставил. По умолчанию: 2,3,4,5.

    Bluez-utiles - Я выключил. У меня нет устройств bluetooth. По умолчанию: 2,3,4,5.

    Bootlogd - Оставьте запускаться. По умолчанию: S.

    Cron - Тоже надо оставить. По умолчанию: 2,3,4,5.

    Cupsys - Подсистема для управления принтером. У меня принтера нет, так что я смело отключил, но вы смотрите по обстоятельствам. По умолчанию: 2,3,4,5.

    Dbus - Система сообщений (Message bus system). Очень важна, оставьте включённой. По умолчанию: 2,3,4,5.

    Dirmngr - Утилита управления списками сертификатов. Работает заодно с gnupg. По умолчанию: 2,3,4,5.

    Dns-clean - В основном служит для очистки DNS при использовании соединений dial-up. У меня нет dial-up, так что я выключил. По умолчанию: S.

    Evms - (Enterprise Volume Management System) - система управления томами для ОС Linux. EVMS предлагает единые унифицированные механизмы для управления дисками, дисковыми разделами, файловыми системами, физическими томами LVM ит.д. Я выключил. По умолчанию: S.

    Fetchmail - Демон доставки электронной почты. Я выключил. По умолчанию: 2,3,4,5.

    Gdm - Менеджер рабочего стола (Gnome Desktop Manager). Я его в любом случае уже выключил, когда решил загружаться в консоль. В данном случае - дело предпочтений, так что решать вам, хотите ли вы загружаться напрямую в GUI . По умолчанию: 2,3,4,5.

    Gdomap - Я понятия не имею, зачем этот процесс должен запускаться. Я не видел этого демона больше ни в одной системе, так что я его выключил и не чувствую какой-либо утраты. Есть какие-нибудь причины для его использования на ноутбуках или рабочих станциях? По умолчанию: 2,3,4,5.

    Gpm - Поддержка мыши для консоли. Если вы чувствуете, что не можете обойтись без мыши в консоли - поставьте уровень выполнения 1 и 2. Это всё, что нужно. По умолчанию: 2,3,4,5.

    Halt - Не менять. По умолчанию: 0.

    Hdparm - Скрипт для подстройки жёсткого диска. Я отключил уровни 2,3,4,5, но установил уровень S. Я полагаю, что открытие DMA, 32-битного ввода-вывода и т.д. принесёт пользу остальным процессам. Также я сменил родной скрипт на очень простой, который сделал самостоятельно. Я думаю, не стоит производить все эти избыточные проверки, если я сам знаю, что делаю. Файл конфигурации - /etc/hdparm.conf. По умолчанию: 2,3,4,5.

    Hibernate - Если ваша система поддерживает спящий режим - оставьте службу работать. В противном случае она бесполезна. По умолчанию: S.

    Hotkey-setup - Этот демон включает некоторые специфические горячие клавиши в ноутбуках. Есть заводская поддержка: HP, Acer, ASUS, Sony, Dell, и IBM. Если у вас ноутбук этих производителей, можно оставить службу запускаться, в противном случае её запуск будет бесполезен. По умолчанию: 2,3,4,5.

    Hotplug и hotplug-net - Включение подсистем hotplug занимает время. Я бы задумался, включать ли их вообще. Я сделал несколько изменений в своём файле /etc/network/interfaces. Вместо того, чтобы адресовать свою беспроводную карту в процессе hotplug, я включил её в автоматический режим. Таким образом, я могу отключить эти процессы. Я удостоверился, что даже при их отключении, ubuntu находит драйверы usb, цифровой камеры и так далее. Так что, думаю, отключение этих процессов достаточно безопасно. -Примечание- Если после отключения hotplug ваша звуковая карта перестала работать, можно включить его обратно. Или можно отредактировать файл /etc/modules, чтобы добавить модуль драйвера звуковой карты. Более поздние работают быстрее, проверено. По умолчанию: S.

    Hplip - Подсистема печати и обработки изображений HP. Я отключил. По умолчанию: S.

    Hwtools - Утилита для оптимизации irq.

    Ifrename - Скрипт по именованию сетевых интерфейсов. Звучит красиво, но я отключил. Нужен, в основном, для управления именами нескольких сетевых интерфейсов. С тех пор, как у меня две сетевые карты - беспроводная и проводная - они обозначены ядром как eth0 и ath0, так что процесс для меня бесполезен. По умолчанию: S.

    Ifupdown и ifupdown-clean - Не отключайте. Это скрипты для включения сетевых интерфейсов при загрузке. По умолчанию: ifupdown - 0,6,S и ifupdown-clean - S.

    Inetd или inetd.real - Посмотрите в файл /etc/inetd.conf и закомментируйте все службы, которые вам не нужны. Если активных служб после этого не осталось - демон можно смело убирать из запуска. По умолчанию: 2,3,4,5.

    Klogd - Не выключать. По умолчанию: 2,3,4,5.

    Laptop-mode - Служба для проверки в ноутбуке: не пора ли выкинуть батарею. Бесполезна для стационарного компьютера. По умолчанию: 2,3,4,5.

    Libpam-devperm - Демон для восстановления прав доступа к файлам-устройствам после сбоя системы.

    Linux-restricted-modules-common - Нужно посмотреть, не загружены ли несвободные модули в систему. Эти модули можно найти в /lib/linux-restricted-modules. Если такие модули не используются - можно смело отключать демона. По умолчанию: 0,6,S.

    Lm-sensors - Если материнская плата поддерживает сенсорные чипы, можно посмотреть их состояние.

    Lvm - Я не использую, потому отключил. Оставьте, если у вас есть lvm. По умолчанию: S.

    Makedev - Не отключать. По умолчанию: 2,3,4,5.

    Mdamd - Инструмент для управления устройствами RAID . В большинстве случаев можно отключить. По умолчанию: 2,3,4,5.

    Mdamd-raid - Инструмент RAID . По умолчанию: S.

    Module-init-tools - Загружает дополнительные модули из файла /etc/modules. Можно посмотреть его содержимое на наличие ненужных модулей. Обычно включен. По умолчанию: S.

    Mountvirtfs - Монтирование виртуальных файловых систем. Не отключать. По умолчанию: S.

    Networking - Поднимает сетевые интерфейсы и конфигурирует DNS при загрузке, путём сканирования файла /etc/network/interfaces. Отключать не стоит. По умолчанию: 0,6,S.

    Ntpdate - Синхронизирует время с сервером времени ubuntu (или заданным другим). По умолчанию: S. -Примечание- Если второй системой стоит Windows, лучше оставить процесс включённым. Windows хранит в BIOS не универсальное (по Гринвичу), а локальное время и при перезагрузке из одной системы в другую они будут пытаться корректировать друг друга. В последних версиях эта проблема вроде бы исправлена.

    Nvidia-kernel - Я собирал драйвер nvidia самостоятельно, поэтому мне служба не нужна. Если используете несвободный драйвер nvidia - оставьте службу включённой. По умолчанию: 1,2,3,4,5.

    Pcmcia - Активирует устройство PCMCIA. Я поставил уровень выполнения в 0,6,S вместо умолчательных 2,3,4,5, поскольку, по моему мнению, оборудование надо подключать в первую очередь. С другой стороны, если устройства PCMCIA не используются, то и службу можно отключать.

    Portmap - Демон для управления такими службами, как nis, nfs, и т.д. По умолчанию: 2,3,4,5,0,6,S.

    Powernowd - Клиент для управления cpufreq. Нужен в основном для ноутбуков с поддержкой технологии изменения частоты процессора. Полезен для ноутбуков и наоборот для стационарных компьютеров. По умолчанию: 2,3,4,5.

    Ppp и ppp-dns - Мне не нужно. У меня нет dial-up. По умолчанию: ppp - 2,3,4,5 и pppd-dns - S.

    Readahead - Похоже, readahead это разновидность «предзагрузчика». Загружает при старте несколько библиотек в оперативную память, что позволяет некоторым программам быстрее стартовать. Но увеличивает время загрузки системы на 3-4 секунды. По умолчанию: S.

    Reboot - Не менять. По умолчанию: 6.

    Resolvconf - Автоматически настраивает DNS в соответствии со статусом сети. По умолчанию: S.

    Rmnologin - Убирает nologin, если находит. У меня такого не будет, я убрал. По умолчанию: 2,3,4,5.

    Rsync - Демон rsync. Можно убрать, если не уверены, что он вам нужен. По умолчанию: 2,3,4,5.

    Urandom - Генератор случайных чисел. Нельзя угадать какому приложению, особенно в графике, может понадобиться. По умолчанию: 0,6,S.

    Usplash - Картинка при загрузке системы, с индикатором загрузки. Для полного отключения надо редактировать файл /boot/grub/menu.lst: закомментировать строку splashimage и убрать опцию splash из строки загрузки ядра. По умолчанию: 2,3,4,5.

    Vbesave - Утилита для настройки BIOS видеокарты. По умолчанию: 2,3,4,5.

    Xinetd - Сверхдемон inetd для управления другими демонами. Включать имеет смысл только в том случае, если есть демоны под его управлением.

Если Вы не уверены, за что отвечает служба, не отключайте ее. Отключение нужных служб может привести к полной или частичной неработоспособности как некоторых программ, так и системы в целом.

Пользователям Linux по определению доступна более производительная система, в сравнении с Windows. Однако, если использовать тяжеловесное окружение рабочего стола, такое как Unity, например, производительность может несколько пострадать.

Все предпочитают, чтобы программы и документы открывались не через 10-20 секунд, а сразу же. При этом желательно, чтобы внешний вид рабочей среды не напоминал ранние девяностые, потому как мы проводим в интерфейсе нашей системы очень много времени, а значит нам должно быть уютно внутри.

Необязательно впадать в крайности, совершенно отказываясь от красивого окружения рабочего стола в пользу аскетических оконных менеджеров. Нахождение компромисса между производительностью и приятным внешним видом - задача совершенно не трудная.

В этой статье мы рассмотрим ускорение Ubuntu четырьмя простыми способами. Хоть эти советы подойдут и для более старых релизов, мы рассмотрим, в частности, ускорение Ubuntu 16.04.

Положительный результат будет хорошо заметен на старых маломощных компьютерах или на VirtualBox. Советы актуальны и эффективны, даже если ваша Ubuntu установлена на SSD.

1. Уберите из автозагрузки ненужные программы.

Ubuntu 16.04, во время старта, загружает большое количество разнообразных приложений, многие из которых вам, скорее всего, не нужны. Чтобы ускорить Ubuntu, можете просто их отключить.

Однако, многие автоматически запускаемые программы скрыты, и для того, чтобы их увидеть, нужно выполнить следующую команду:
sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

Теперь откройте "Автоматически запускаемые приложения" из Unity Dash...

И просто снимите галочки с ненужных пунктов.

Ускорение Ubuntu 16.04 можно осуществить, отключив ненужные возможности. Вот перечень тех служб и программ, которые вам, вероятно, не понадобятся.

Accessibility Profile Manager (Менеджер специальных возможностей).
Используется для отображения значка специальных возможностей на экране входа в систему. Если вам не нужна экранная клавиатура и голосовой помощник, просто отключите их.

Backup Monitor (Резервное копирование).
Создание резервных копий при помощи deja-dup-monitor. Если вы не планируете делать бэкапы каких-либо данных - смело отключайте.

Desktop Sharing (Удаленное управление рабочим столом).
Предназначено для входящих VNC-подключений. Если знаете, что справитесь со своей системой без чьей-либо помощи, значит можно отключить. Способность самому выступать в качестве удаленного помощника и управлять другими компьютерами через VNC никуда при этом не исчезает.

Gnome Software (Центр программного обеспечения).
Можно отключить, если предпочитаете устанавливать программы через терминал, без помощи Центра ПО с графическим интерфейсом.

Personal File Sharing (Обмен личными файлами).
Нужно оставить только в случае необходимости передачи файлов через Bluetooth.

Update Notifier (Уведомление об обновлениях).
Если не хотите получать уведомления о доступных обновлениях, значит можно отключить.

2. Отрегулируйте Swappiness.

Все мы знаем, что скорость обмена данными с оперативной памятью значительно выше, чем с жестким диском. Как ускорить Ubuntu, учитывая этот факт?

Проведем небольшой эксперимент: запустите вашу систему, откройте несколько программ, скажем: Firefox, LibreOffice, Mozilla Thunderbird, Evince... и просто оставьте их открытыми, не выполняя никаких действий. Не переводите систему ни в спящий, ни в ждущий режимы. Вернитесь через несколько часов и обратите внимание, насколько неповоротливыми стали запущенные программы, как медленно они откликаются на наши действия мышкой. Всё потому, что они перешли в режим простоя (бездействия), и система отправила их в swap, то есть в специально отведенное место на жестком диске.
При помощи System Monitor (Диспетчера задач) можно обнаружить, что Ubuntu использует swap, независимо от наличия большого количества свободной оперативной памяти.
Это связано с настройками swappiness по-умолчанию. Swappiness - это параметр ядра, который отвечает за то, насколько часто Linux будет отправлять бездействующие приложения в swap, то есть на жесткий диск.

Значение swappiness может быть установлено в диапазоне от 0 до 100. Низкие значения предписывают использовать подкачку реже, высокие - чаще. Значение по-умолчанию в Ubuntu равно 60. Это значит, что при достижении расхода RAM в 40%, ядро Linux активирует применение swap.

Проверить текущее значение можно с помощью команды:
cat /proc/sys/vm/swappiness

Как ускорить работу Ubuntu? Рекомендуется установить более низкое значение swappiness, чтобы ядро использовало оперативную память в максимально возможном объеме. Например, чтобы установить значение 10, следует выполнить такую команду:
sudo sysctl vm.swappiness=10

Не ставьте пробелов до или после знака "=". Эта команда указывает ядру задействовать swap только в том случае, когда память занята на 90%. Эта настройка действует до перезагрузки.

Чтобы действие конфигурации было постоянным, нужно отредактировать специальный файл.
sudo nano /etc/sysctl.d/99-sysctl.conf

В конец этого файла нужно добавить строку:
vm.swappiness=10

Сохраните файл и закройте редактор (Нажать Ctrl+O, чтобы сохранить и Ctrl+X, чтобы выйти). Все эти действия применимы и в Ubuntu Server 16.04.

Наша цель - ускорение работы Ubuntu. Еще бы, кому может нравиться скорость запуска Firefox или других тяжелых приложений? Существует небольшой программный инструмент, известный как preload, который запоминает программы, которые вы используете чаще всего, заранее загружает в оперативную память относящиеся к ним библиотеки и исполняемые файлы, благодаря чему запуск этих самых тяжеловесных программ происходит значительно быстрее.

Установить preload на Ubuntu 16.04 можно с помощью команды:
sudo apt install preload

По завершении установки, демон preload запустится автоматически, можно убедиться в этом, выполнив команду:
systemctl status preload

Если, по каким-то причинам, он окажется незапущенным, выполните команду:
sudo systemctl start preload

Теперь просто занимайтесь своими делами - preload будет работать без вашего участия.

4. Отключите эффекты.

Эффекты, без сомнения, радуют глаз, разбавляя собой скучное рабочее пространство. Однако, для их работы также необходимы ценные системные ресурсы. Как ускорить Ubuntu 16.04? При помощи compizconfig-settings-manager эффекты можно отключить, увеличив тем самым производительность.
Установить compizconfig-settings-manager можно с помощью команды:
sudo apt install compizconfig-settings-manager

Запустите его из Unity Dash, затем выберите слева раздел "Эффекты" и отключите те, которые вам не нужны. Если захотите, можно отключить абсолютно все.

Также можно выключить размытие заднего плана в Unity Dash при помощи Unity Tweak Tool. Это сделает Unity Dash более отзывчивым.

Установка Unity Tweak Tool:
sudo apt install unity-tweak-tool

Установив, откройте его и выберите вкладку "Поиск", затем переключите кнопку "Размытие заднего плана" (Background blur) в состояние "Выкл." (OFF).

Вообще, многим нравится прозрачный фон, а вам?

После:

Бонусный совет: найдите главного виновника медленной загрузки.

Можно узнать, сколько времени необходимо для старта каждой из загружаемых служб, выполнив следующую команду:
systemd-analyze blame

Как видно на снимке выше, службы mnt-pi.mount и vboxadd.service являются теми самыми виновниками. Я знаю, что mnt-pi.mount отвечает за монтирование NFS (сетевой файловой системы) на моем Raspberry Pi, но она мне больше не нужна, поэтому я могу безболезненно убрать ее из файла /etc/fstab. Я также знаю, что демон vboxadd.service нужен только для виртуальной машины, то есть мне, опять-таки, без надобности.

Отключаем:
sudo systemctl disable vboxadd.service

Проверяем время загрузки:
systemd-analyze time

После:

Другие способы ускорить Ubuntu 16.04

Вам известны другие способы ускорить Ubuntu 16.04? Поделитесь ими в комментариях.

Ускорение ЗАГРУЗКИ ubuntu
После загрузки ядра, в ubuntu начинает загружаться образ рам-диска (initial ramdisk, initrd). Если распаковать этот образ, можно убедится, что там очень много чего лишнего и распакованный он занимает чуть-ли не 25 мегабайт. Поэтому, желательно пересобрать все initrd-образы в системе только с необходимыми модулями. Но все не так сложно, как кажется. Открываем файл:

Sudo nano /etc/initramfs-tools/initramfs.conf

там строчку

MODULES=most

и заменяем ее на:

MODULES=dep

Все, теперь надо запустить команду:

sudo update-initramfs -k all -u

Она пересоберет для всех установленных ядер все найденные образы initrd. В будущем, для новоустановленного ядра, initrd будет генерироваться уже сам с этими параметрами, так что это нужно сделать всего один раз. Теперь файлы initrd будут весить примерно по 3 мегабайта запакованными и по 6-7 мегабайт – распакованными. Это частично сократит время загрузки и при этом не повлияет отрицательно на систему.

Скорость загрузки ОС также напрямую зависит от файловой системы, на которой стоит ОС. Дело в том, что с мелкими файлами лучше работает новая ext4 и старый reiserfs. Собственно, в дистрибутиве больше всего мелких файлов. Поэтому, рекомендую полностью переходить на ext4 – это намного уменьшит скорость не только загрузки ОС, но и саму работу с системой, программами и файлами.

Так-же, можно отключить предварительную проверку разделов жесткого диска во время загрузки ОС. Журналируемые файловые системы уже давно безопасны и проверять их желательно лишь после достаточно долгого использования, после небезопасного выключения компьютера, после глюков, ну и по желанию собственно. Отключать надо в файле “/etc/fstab”. Там в конце каждой строчки стоят две цифры. Нам нужна только последняя цифра, она и отвечает за проверку жесткого диска во время запуска ОС. Меняем эту цифру на ноль на нужных файловых системах. И все, больше ничего трогать не нужно.

При загрузке Ubuntu автоматически устанавливается политика Ondemand — то есть саморегуляция с помощью ядра. Естественно частота процессора падает до минимальной, что полностью не устраивает. Но можно по умолчанию включить политику Performance (максимальная частота процессора)

Выполняется команда

Sudo update-rc.d -f ondemand remove

На системе атлон64. Тормозил thunderbird, firefox. В режиме перфоманс эти программы работают заметно быстрее, взято

++++++++++++++++++++++++++++++++++++++++

УСТАНОВКА prelink ДЛЯ УСКОРЕНИЯ ЗАГРУЗКИ СИСТЕМЫ

Установка:

Sudo apt-get install prelink

Теперь открываем файл настроек

Sudo nano /etc/default/prelink

и меняем значение опции « PRELINKING » с «unknown» на «yes», вот так: PRELINKING =yes

Так же программа установит скрипт ежедневного запуска prelink, но в первый раз нужно запустить его вручную:

Sudo /etc/cron.daily/prelink

потом его будет незаметно, он станет включаться автоматически и ГОТОВО!

++++++++++++++++++++++++++++++++++++++++

ОПТИМИЗАЦИЯ системы при работе с ПАМЯТЬЮ

Настройка /proc/sys/vm/swappiness и /proc/sys/vm/vfs_cache_pressure .
В псевдофайле swappiness хранится значение (в целых процентах), это уровень свободной памяти, при котором система начнет активно сбрасывать память в своп. Значение по умолчанию: 60. Изменяется значение от 0 до 100.
В псевдофайле vfs_cache_pressure хранится значение — уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Пределов значения, к сожалению не знаю.

Если вы хотите ускорить работу системы (особенно те, кому жалко не задействованой оперативки во время работы системы), то измените значение системы, примерно, так:
swappiness = 10 , vfs_cache_pressure = 1000:

Теперь сделаем, чтобы эти параметры применялись при загрузке системы.
Редактируем файл /etc/sysctl.conf

sudo nano /etc/sysctl.conf

добавим в конец файла строки

vm.swappiness = 10 vm.vfs_cache_pressure = 1000

++++++++++++++++++++++++++++++++++++++++

Можно отключить загрузку системы в графическом режиме, для ubuntu 9.10 и 10.04

Sudo nano /etc/default/grub

В этом файле в этой строке данная строка приводится к такому виду

GRUB_CMDLINE_LINUX_DEFAULT=»quiet ipv6.disable=1″

убирается слово splash и добавляется отключение ipv6 при загрузке системы, затем команда

Sudo update-grub

и готово.

++++++++++++++++++++++++++++++++++++++++

Если /boot идет отдельным разделом, то можно закоментировать его автоматическое монтирование при старте системы в файле /etc/fstab

++++++++++++++++++++++++++++++++++++++++

Еще можно задействовать утелиту rcconf для управления демонами системы
Назначение сервисов (дальнейшая информация взята с этого сайта:

acpi-support – отметка на S-уровне;
acpid – сервис для управления питанием, необходим и для ноутбуков, и для настольных компьютеров. Оставляем как есть;
alsa-utils – S-уровень;
anacron – подсистема планировщика cron, которая выполняет любые задания cron, не выполненные вовремя. Можно выключить;
apmd – устаревший сервис для таких же компьютеров. Отключаем;
atd – планировщик задач, наподобие cron. Можно отключать;
binfmt-support – поддержка ядром других форматов бинарных файлов. Оставьте как есть;
bootlogd – оставьте как есть;
cron – оставьте включенным;
cupsys – подсистема управления принтерами. Если у вас нет принтера – отключайте;
dbus – система Message bus system. Очень важная служба, оставьте ее включенной;
dns-clean – очистка информации о dns, актуальна для dial-up. Не грех и отключить.
gdm – менеджер рабочего стола Gnome. Не трогайте;
gpm – поддержка мыши в режиме консоли. Включите для службы runlevel 1 и 2;
halt – не изменяйте;
hdparm – скрипт настройки винчестера. Снимите отметки с 2, 3, 4, 5 уровней запуска, и добавьте S runlevel. Чем раньше будет запущена эта служба, тем лучше.
hotkey-setup – назначение “горячих клавиш” на ноутбуках. Поддерживаемые производители: HP, Acer, ASUS, Sony, Dell, и IBM. Нужно это или нет – решайте сами:
hplip – подсистема печати и изображений HP. Можно выключить;
klogd – Оставьте службу включенной;
linux-restricted-modules-common – проверьте, есть ли в вашей системе какие-либо загруженные ограниченные (restricted) модули. Они могут быть найдены в /lib/linux-restricted-modules;
makedev – не выключайте;
module-init-tools – загружает дополнительные модули из файла /etc/modules. Вы можете исследовать файл /etc/modules, и посмотреть есть ли здесь какие-то модули, которые Вам не нужны. Пусть будет включено;
networking – устанавливает сетевые интерфейсы и настраивает информацию dns в процессе загрузки, сканируя файл /etc/network/interfaces. Оставьте включенным;
powernowd – клиент для управления частотой процессора (cpufreq). В основном предназначен для ноутбуков, поддерживающих технологию CPU speed stepping. Желательно оставить как есть;
ppp and ppp-dns – нужно для обеспечения модемного подключения. Если dial-up’ом не пользуетесь, смело отключайте;
readahead – один из предзагрузчиков (“preloader”). При запуске этот сервис загружает некоторые библиотеки в память, так что некоторые программы запускаются быстрее. Хотя,на самом деле, отключение службы никак не отразится на работе системы;
reboot – не изменяйте;
rmnologin – удаляет nologin если таковой будет найдет. В общем, малополезная служба, отключаем;
rsync – демон rsync. Можно отключить;
sendsigs – посылает сигналы перед перезагрузкой или выключением. Оставьте все как есть;
single – активирует однопользовательский режим. Оставьте как есть;
stop-bootlogd – останавливает bootlogd на 2,3,4,5 runlevel уровнях. Оставьте как есть;
sysklogd – не трогайте;
udev – поддержка файловой системы userspace dev. Лучше оставить службу включенной;
umountfs – оставьте как есть;
usplash – “красивый” загрузочный экран, можно отключать;
vbesave – инструмент настройки BIOS’a видеокарты. Оставьте включенным. ondemand Контролирует частоту процессора, в режиме ondemand — уменьшает частоту, когда процессор используется слабо и повышает при возникновении нагрузки. Т.к. действует с задержкой — приводит к легким(или сильным) тормозам, лучше оставить выключенным если не вопрос пара дополнительных ватт энергии.