Оптимизация linux

Введение

Если вы только установили систему на компьютер который имеет два гигабайта ОЗУ, после первого запуска система будет кушать не меньше 1 Гб памяти. Вроде и не критично, но очень много, если взять хотя-бы в сравнение более маленький дистрибутив и сравнить потребление памяти. А если и запустить браузер например с 5-6 вкладками, то ваши 2 ГБ быстро израсходуются и вы увидите первые косяки в производительности прочие зависания браузера итд. 

Рассмотрим что нам нужно в функциональности, а что нет.

Прежде всего список демонов которые загружаются по умолчанию

Разработчики Ubuntu, попытались сделать минимум, но в нашей ситуации стоит обратить внимание на то, что в зависимости от степени использования дистрибутива, много функционала может быть вовсе лишним, что в итоге может быть отключено и не будет кушать оперативную память.
Так же стоит обратить внимание на приложения которые вы не используете. Разное ПО использует плагины, которые реализуются в большей части случаев в виде загружаемых библиотек

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

Ускорение загрузки Linux отключением сервисов

Вот мы и добрались к сервисам. Оптимизация сервисов заключается в том, чтобы отключить лишнее, а также использовать только возможности, встроенные в systemd, так будет быстрее. Сначала перенесем всю функциональность на systemd.

Первым отключим rsyslog. В systemd используется свой механизм записи логов journald, поэтому вести еще один не нужно. Для отключения выполните:

Опция mask позволяет спрятать юнит, система будет думать что его не существует и не сможет загрузить. Восстановить такой юнит можно командой systemctl unmask.

В systemd реализована своя служба настройки сети — networkd, поэтому необязательно использовать NetworkManager. Работа со встроенной службой будет намного быстрее. Здесь нужно заметить, что если вы используете wifi и не хотите настраивать его вручную, через консоль, то отключать NetworkManager не стоит.

Отключаем NetworkManager и включаем networkd:

Службу networking тоже можно отключить, если не используете:

Включаем resolved, который отвечает за настройку DNS серверов:

Даем символическую ссылку на файл /etc/resolv.conf

Осталось настроить динамическое получение ip адреса при загрузке:

enp0* значит, что сеть нужно подымать только для устройств, имена которых начинаются на enp0. Готово, сеть настроена.

В systemd есть свое решение для выполнения задач по расписанию, поэтому cron можно не использовать:

С заменой разобрались, перейдем к удалению лишнего. Отключаем фаервол, на домашней машине, за маршрутизатором он не нужен:

Отключаем apport (служба отчетов об ошибках):

Я не использую ppp и мобильные соединения, поэтому и эти сервисы можно отключить.

Если вы не используете Avahi, его тоже можно отключить:

Систему AppArmor тоже можно отключить:

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

Перезагружаемся и проверяем скорость загрузки:

У меня скорость загрузки linux выросла на пять секунд. Но это нормально, учитывая, что используется VirtualBox, на реальной машине можно получить и больше. А самая лучшая оптимизация — купить SSD, там можно достичь даже скорости загрузки до двух-трех секунд.

Ускоряем работы Ubuntu с дисковой подсистемой

Вся работа по ускорению Ubuntu для удобства разбита не несколько частей:

  1. Редактируем конфигурационный файл /etc/sysctl.conf:
    sudo nano /etc/sysctl.conf

    1. В самом низу этого файла есть параметр vm.swappiness, который как раз и отвечает за распределение оперативной памяти. По умолчанию он имеет значение 60, показывая, что в любом случае должно оставаться 60% свободной оперативной памяти. Для рабочих станций рекомендуется изменить это значение на 10. Должно получится так:
      vm.swappiness=10

      Если этого параметра нет, то необходимо его добавить в самом конце открытого конфигурационного файла!

    2. В конце этого файла рекомендуется еще добавить параметр vm.vfs_cache_pressure, который указывает размер используемого дискового кэша.

      Если Вы обладатель компьютера с SSD-накопителем, то для Вас будет актуален параметр:

      vm.vfs_cache_pressure = 50

      Если у Вас компьютер с «простым» жестким диском, то наибольшую отзывчивость можно получить при установке параметра:

      vm.vfs_cache_pressure = 1000

Если в своей повседневной работе Вы часто используете только несколько приложений, то можете воспользоваться их кэшированием. Для этих целей есть дополнительный демон preload, который собирает статистику «ваших предпочтений» и держит часть наиболее востребованных файлов запускаемых приложений в оперативной памяти, тем самым избавляя Вас от утомительных ожиданий долгой первоначальной загрузки.

Чтобы воспользоваться демоном preload в Ubuntu, необходимо его установить:

sudo apt-get install preload

Дальнейшей дополнительной настройки preload не требует.

После всех манипуляций необходимо перезагрузить операционную систему или выполнить:
sudo sysctl -p

Отключаем лишние службы / сервисы

В Ubuntu 16.04 используется systemd, чтобы посмотреть ПО которое запускается во время начальной загрузки, мы можем использовать следующую команду:

sudo systemctl list-units --type service

В результате мы получим список как запущенных(используемых), так и сервисов которые уже завершены. Давайте рассмотрим более детально этот список и подумаем, что нам нужно, а от чего мы можем избавиться.

Список загружаемых сервисов systemd

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

sudo systemctl disable apparmor.service

Apport — это служба которая предназначена для отправления отчетов об ошибках в Canonical. Да, вроде и полезный инструмент, но представьте ситуацию, у вас мобильный 3G интернет и это окно об ошибках постоянно маячит перед глазами, в данной ситуации имеет смысл отключить данную службу, иногда это окно уж очень слишком часто вылазит когда его не ждешь, я лично отключил сразу же после установки так как иногда оно просто выводит своими появлениями когда его не ждешь. Отключать ли вам, вы должны сами решить для себя. Для отключения набираем команду:

sudo systemctl disable apport.service

Avahi — это демон который предназначен для обнаружения служб / компьютеров в домене .local. Вроде и удобная штука, но на практике, если у вас есть пара компьютеров в локальной сети, смысла держать этот демон активным нет, мoжете смело отключить:

sudo systemctl disable avahi-daemon.service

CGManager предназначен для управления cgroup позволяя непривилегированным пользователям получать доступ к cgroup и предотвращая выход из текущего cgroup в родительский не исключение и привилегированные приложения. Если трезво мыслить, он может пригодиться лишь при создании вложенных контейнеров LXC, если вы их не используете и не пользуетесь песочницей, в которой все это может пригодиться для запуска программ, смело отключайте:

sudo systemctl disable cgmanager.service

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

sudo systemctl disable colord.service

ModemManager — это интерфейс, позволяющий реализовать подключение к сети интернет используя мoдемы, каналы связи (2G/3G/4G/CDMA), способы соединения (RS232, USB, Bluetooth) и методoв управления (AT, QCDM, QMI, MBIM). Если у вас кабельный интернет и вы не планируете использовать модем, отключайте:

sudo systemctl disable ModemManager.service

Speech Dispatcher — это унифицированный API, который имеет предназначение для изменения порядка вызова синтезатора, так же позволяет предотвратить наложения звука при использовании нескольких приложений и воспроизведении в них звука одновременно. Если вы не планируете использовать синтезаторы речи, отключайте:

sudo systemctl disable speech-dispatcher.service

Whoopsie — эта служба имеет те же корни что и Apport, если вы ее отключили, так же стоит и поступить с Whoopsie. Прежде всего откройте конфиг  /etc/default/whoopsie здесь нам нужно изменить значение в параметре report_crashes замени true на false, сохраняем и после отключаем службу:

sudo systemctl disable whoopsie.service

Оптимизация DE

Ускорение GNOME 2

  • Открыть текстовый редактор и скопировать туда следующие строки

    gtk-menu-popup-delay = 0
    gtk-menu-popdown-delay = 0
    gtk-menu-bar-popup-delay = 0

    сохранить в своем «домашнем» каталоге под названием .gtkrc-2.0 (не забыть про лидирующую точку) и перегрузить иксы.

  • Запустить gconf-editor

    /apps/metacity/general

    поставить галочку reduced_resources

    /apps/panel/global

    убрать галочку enable_animations

    /desktop/gnome/interface

    убрать галочку accessibility.

    /apps/panel/global/panel_animation_speed

    Установить текстовый параметр в значение panel-speed-fast, для ускорения анимации панели. Перезапустить сессию Gnome.

Ускорение запуска KDE программ в среде Gnome

  • В gconf-editor устанавливаем значения:

    /desktop/gnome/thumbnailers/disable_all = true
    /apps/nautilus/preferences/show_image_thumbnails = never

    Можно также удалить старые миниатюры, удалив директорию ~/.thumbnails

  • Ускорим старт Qt программ. Для этого в Меню — Система — Параметры — Запускаемые приложения добавим запускаемую программу /usr/bin/kdeinit под именем FastQt. После перезагрузки компьютера, Qt программы будут быстрее стартовать, так как не нужно дополнительно запускать «минимальный набор KDE».

Ускорение Unity

  • Установите, если не установлен .
  • Запустите Менеджер настройки CompizConfig (Сompiz Configuration Settings Manager — ccsm) и перейдите в OpenGL Plugin, в котором отключите Синхронизировать с VBlank.
  • Перейдите в Composite и отключите Определить частоту обновления.
  • Отключите в разделе Эффекты плагины Анимация (Animations) и/или Проявление/исчезание окон.
  • Если не используете сенсорные устройства, то отключите плагин Unity MT Grab Handles.
  • В Общие — Общие настройки выставьте Задержка отклика в 2000.

Как ускорить работу Ubuntu 16.04 и 17.04 в VirtualBox путем установки драйверов и дополнений

Добавление гостевых виртуальных машин VirtualBox позволяет вам создавать общие папки, включать двунаправленный общий буфер обмена между хостом и гостем, а также увеличивать графическую производительность вашей гостевой машины. Это набор драйверов устройств (графических и машинных драйверов) и системных приложений, которые будут установлены в вашей ОС.

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

Обратите внимание: если установлено новое ядро, то вам нужно перезагрузить Ubuntu. После этого установите необходимые пакеты для сборки модулей ядра

Затем подготовьте свою систему для сборки модуля ядра.

Должно появится примерно такое:

В строке меню VirtualBox выберите «Устройства/Devices»> «Вставить гостевой образ CD/Insert Guest Additions CD image».

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

Если ранее загруженный образ CD-диска уже был добавлен, то вас попросят запустить содержащееся в нем программное обеспечение, далее нажмите на кнопку «Выполнить».

Затем введите свой пароль, и система начнет компилировать «гостевые» модули ядра VirtualBox. Вам может быть сообщено, что ваша система уже имеет актуальную версию этих дополнений для VirtualBox, но встроенная версия имеет медленную производительность и качество. Поэтому введите «yes», чтобы продолжить.

Затем как установка гостевых дополнений завершится вам нужно будет нажать на кнопку «Ввод», чтобы закрыть окно терминала и завершить работу виртуальной машины Ubuntu. (Перезагрузить Ubuntu лучше потом)

Перейдите к настройкам программы VirtualBox. Нажмите «Display» на левой панели. На вкладке «Экран» выделите видеопамять 128M для виртуальной машины Ubuntu и убедитесь, что включена опция «Включить 3D-ускорение». Сохраните настройки.

Запустите виртуальную машину Ubuntu. Теперь система должна работать намного быстрее, потому что графические возможности системы и Unity 3D теперь полноценно поддерживаются новым графическим драйвером. Далее, выполните следующую команду в окне терминала:

Там Вы увидите, что Unity 3D поддерживается.

Уберите все лишнее из автозагрузки

Уберите всё лишнее и тем самым вы убьете 3 зайцев одним выстрелом: освободите память, снизите нагрузку на процессор и повысите общую безопасность системы. В настоящее время Ubuntu использует смешанную систему управления процессами. Частично это Systemd, частично рудименты от предыдущих систем. Поэтому действуем так:

systemctl list-units --type service

Это покажет список всех процессов. А вот так отключаем ненужные:

systemctl disable имя службы>

Что не нужно? Bluetooth, AppArmor и так далее. Чем не пользуетесь, то и отключайте. Если не знаете предназначение службы, то либо не трогайте ее, либо читайте документацию к ней.

Шаг четвертый. Отключаем ненужные сервисы

По опыту настройки Windows вы знаете, что сервисные службы отнимают порядочную часть системных ресурсов. Да, службы автоматически выгружаются при завершении работы, но все равно ОС загружается дольше – будь то Windows или Linux. Вывод прост – лишние сервисы отключаем. Для этой цели нам понадобится крохотная программа sysv-rc-conf. Ее можно скачать из официального репозитория

или установить с помощью менеджера пакетов Synaptic. Перед тем, как начать настройку, мы должны увидеть основное отличие между win- и lin- сервисами. Если сервисы Windows имеют 3 параметра – авто, запущен и остановлен, то в Linux их 8:

• runlevel S – первый по приоритетности уровень запуска• runlevel 1 – однопользовательская среда• runlevel’ы 2 – 5: многопользовательская среда• runlevel 0: выключение компьютера• runlevel 6: перезагрузка компьютера

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

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

Назначение сервисов:

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 видеокарты. Оставьте включенным.

Настройка системы

Во-первых SELinux отключен не полностью. Для полного отключения добавляем строку в файл /etc/selinux/config:

Во-вторых, проверка файловых систем тоже может занять некоторое время. Оставляем проверку на ошибки только для корня. Для этого откройте файл /etc/fstab и приведите строчку для корня к такому виду:

Последний параметр отвечает за проверку, 1 — проверять, 0 — не проверять. Установите для всех других разделов 0. К тому же boot раздел лучше монтировать по требованию. Для этого изменяем его запись:

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

Оптимизация подкачки, тюнинг параметра swappiness

Для ядра Linux можно настроить значение, которое называется swappiness и отвечает за интенсивность использования файла подкачки. Файл подкачки используется для временного хранения вытесненных данных из ОЗУ и позволяет увеличить объем доступной оперативной памяти за счет заметного снижения производительности.

Значение это может изменяться от 0 (запрет на подкачку) до 100 (агрессивная подкачка, когда в swap-файл попадает абсолютно все, что может быть вытеснено). В Ubuntu swappines = 60. Какое значение является оптимальным? Споры на эту тему не утихают и по сей день. Вы можете опытным путем подобрать нужное значение. Автор этой заметки лично для себя выяснил, что компьютер начинает работать ощутимо быстрее при swappiness = 10. Открываем файл /etc/sysctl.conf и добавляем строку «vm.swappiness=10», а дальше экспериментируйте.

Готово. Теперь ваш Ubuntu 16.04 ускорился и приятно вас порадует сразу после перезагрузки.

Это интересно!

  • Как ускорить Linux в 2 раза
  • Как в Ubuntu обновить ядро Linux
  • Как установить программу в RPM-формате в Ubuntu
  • Установка LibreOffice 4.0 в Ubuntu
  • Самые полезные команды Linux

Статическая линковка

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

Prelink преобразует исполняемые файлы таким образом, чтобы они загружали как можно больше библиотек. Preload же следит за системой и держит в памяти часто используемые программы. После небольшой калибровки хорошо чувствуется оптимизация Linux.

Сначала установим Prelink:

Затем запустим утилиту для обработки всех исполняемых файлов:

Для периодичного запуска prelink, чтобы выполнялась оптимизация Linux для новых файлов, откройте файл /etc/default/prelink и замените строчку PRELINKING=unknown на yes:

Установим Preload:

Эту программу достаточно только установить, она не требует настройки после установки.

Развёртывание ведомых нод с помощью ведущей

Чтобы настроить ведомые ноды, создайте снапшот конфигурации полученной ведущей ноды, а затем распространите его между серверами кластера.

Также для дальнейшей работы вам понадобится IP-адрес частной сети для каждой ноды.

Установка NFS

Теперь нужно завершить конфигурацию ведущей ноды. До сих пор все конфигурации были обще кластерными (то есть, доступными каждой ноде). Теперь пора добавить настройки, необходимые только ведущему серверу.

Перейдите на ведущий сервер.

Как говорилось ранее, данный кластер будет использовать NFS-монтирование для распространения домашнего каталога между всеми нодами. Сервер NFS будет установлен на ведущей ноде. Для этого запустите команду:

Экспортируйте домашний каталог пользователя cluster на все ноды:

Добавьте в конец файла:

Перезапустите сервер NFS:

Настройка нод

Теперь нужно добавить файл hosts на каждую ноду кластера, чтобы они могли взаимодействовать.

Примечание: Данный раздел нужно выполнить на всех нодах кластера.

Отредактируйте файл /etc/hosts и добавьте данные о нодах в следующем формате.

Примечание: Замените условные IP-адреса IP-адресами своих серверов.

Откройте файл hosts:

Вставьте в файл следующие строки:

Сохраните и закройте файл.

Настройка ведомых нод

Затем нужно установить и настроить компоненты NFS на ведомые ноды.

Примечание: Выполните данный раздел на всех ведомых нодах кластера.

Теперь ноды могут получить экспортируемые данные:

Это значит, что данные были успешно переданы с ведущего сервера command.

Примечание: В случае сбоя или ошибки попробуйте перезапустить сервер NFS на ведущей ноде:

Вернитесь на ведомую ноду и смонтируйте домашний каталог пользователя cluster.

Введите:

Домашний каталог будет смонитрован. Чтобы монтирование каталога выполнялось автоматически, добавьте эту команду в файл /etc/fstab. Откройте файл:

И вставьте в конец файла следующую строку:

Сохраните и закройте файл.

Системная оптимизация

Настройка Swappiness

Изменим поведение 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. В консоли введите следующую команду:

gksu gedit etcsysctl.conf

Добавьте строку в конец файла:

vm.swappiness=10

либо

vm.swappiness=1

При этом «агрессивность» swap опредиляется несколькими праметрами

swap_tendency = mapped_ratio2 + distress + swappiness

Где

swapiness — определенный парамет (или системой или переопределен пользователем vm.swappiness)

distress — сколько раз ядро пыталось освободить память (каждый раз повышается на 1, изначальное число 0)

mapped_ratio — процент занятой оперативной памяти

swap_tendency — если число 100 и более, то система будет свопить (второе ограничение — остаток свободной памяти менее 64МиБ)

Пример

Система еще не свопила перед этим, swappiness установлен по дефолту 60. То есть система первый раз засвопит при достижении значения свободной памяти в 80%

100 = x2 +  + 60

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

vm.swappiness = 100 замедление может быть заметно сразу

vm.swappiness ~ 0 проявятся «жуткие» тормоза в процессе использования системы, особенно под нагрузкой

IPv6

В Linux большинство программ используют протокол IPv4 для подключения к интернету. В Ubuntu IPv6 включен по умолчанию, отключим его, если он вызывает проблемы в сети:

gksu gedit etcdefaultgrub

Найдите параметр GRUB_CMDLINE_LINUX_DEFAULT и аккуратно дополните значением ipv6.disable=1 Сохраните изменения. Вызовите

sudo update-grub

для применений изменений, перезагрузите компьютер.

В старых версиях Ubuntu протокол IPv6 отключается по-другому

Ускорение запуска программ, с помощью preload

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

sudo apt-get install preload

или запустить Центр приложений Ubuntu, найти в нем preload и установить его.
После установки preload перезагрузите компьютер и выполните в консоли команды

sudo touch varlibpreloadpreload.state
sudo chmod 600 varlibpreloadpreload.state
sudo etcinit.dpreload restart

Проверить работу Preload можно посмотрев содержимое preload.state

sudo cat /var/lib/preload/preload.state

Если файл не пуст, значит демон работает.

Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле /etc/preload.conf не обязательно.

Кеширование символьных таблиц

Создайте пустой каталог

mkdir ~/.compose-cache

Ваши Qt/GTK программы будут чуток быстрее стартовать и потреблять меньше памяти, благодаря тому, что libX11 будет создавать в ~/.compose-cache кеши распарсенной информации и использовать ее повторно.

Используйте сочетания клавиш

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

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

Интерфейс запуска приложений открываемый по Alt+F2 может сделать намного больше. Например, вы можете набрать выключить для выключения или заблокировать для блокировки экрана. Вы можете выполнять простые расчеты начав выражение со знака =. Там есть еще много подобных функций в зависимости от плагинов. Наберите знак ? и нажмите стрелку вправо чтобы узнать подробнее.

Уменьшите стандартное время загрузки GRUB

По умолчанию GRUB даёт 10 секунд на выбор одной из нескольких ОС, вход в режим восстановления и т.д., что достаточно долго. Кроме того, вам придётся сидеть перед компьютером и нажимать на enter, чтобы как можно быстрее загрузить Ubuntu. Немного затратно по времени, не так ли? Разумным решением будет сократить это время. Сначала откроем конфигурацию GRUB:

И поменяем  на . Теперь время загрузки сократится до 2 секунд. Почему мы ставим 2, а не 0? В последнем случае мы потеряем возможность выбрать другую ОС или зайти в режим восстановления.

Чтобы применить изменения, используйте эту команду:

Немного теории

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

По большей части современный файловые системы Ext3 и Ext4 обладают хорошим быстродействием и их более тонкая настройка не требуется

Более пристальное внимание следует уделить работе оперативной памяти и дисковой подсистемы в целом

Любая операционная система Linux, в том числе и Ubuntu, устроена так, что практически одновременно использует для хранения каких-то временных данных, оперативную память и файл подкачки — swap. Этот файл подкачки размещается на жестком диске и нужен для разгрузки ОЗУ при ее заполнении. Благодаря ему, у пользователя появляется возможность запускать тяжеловесные приложения с небольшим объемом оперативной памяти, где часть информации хранится на жестком диске. Как говорится: «медленно, но верно». Это точно также как в бизнесе, кто захочет платить лишние деньги за не полностью используемые производственные ресурсы или при заказе рекламы в Екатеринбурге, заказчик не будет переплачивать лишние деньги за избыточную рекламу, полный эффект которой останется не востребованным.

Почему данные хранятся «…практически одновременно…» в swap и ОЗУ?

Потому что Ubuntu устроенна так, что при заполнении оперативной памяти на 40%, происходит ее высвобождение в файл подкачки. Если взять за «стандартный компьютер» — компьютер с 2 Гб оперативной памяти (большинство современных нетбуков обладают даже меньшим объемом памяти — 1Гб), то можно подсчитать, что 40% от всей памяти — это 819,2 Мб (1024Мб * 2 * 0,4 = 819,2 Мб). Интернет-браузер Google Chrome, к примеру, в среднем потребляет порядка 200-300 Мб ОЗУ. Остальные браузеры потребляют примерно столько же. Но очень редко можно встретить пользователя, который бы не пользовался, наверное, главной возможностью современных ОС — многозадачностью и не запускал бы несколько приложений одновременно.

Когда заполнение оперативной памяти достигает указанного порога, операционная система высвобождает ее в файл на жестком диске, то есть позволяет «вступить» в работу одному из самых медленных устройств в компьютере.

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

Хотелось бы заметить, что никто не утверждает, что swap-файл не нужен в операционной системе и от его использования можно вообще отказаться. Просто его роль в работе операционной системы можно немного принизить.

Эта статья призывает к более оптимальной утилизации имеющейся ОЗУ, так как по умолчанию в ОС держится большое количество ОЗУ просто не используемой, тем самым «тормозя» операционную систему.

Создание кластера

Согласно руководству, на данный момент есть пять подготовленных и настроенных узлов. Однако в настоящее время они работают независимо друг от друга. Все они самостоятельно обрабатывают свои независимые наборы данных и никак не взаимодействуют. В этом разделе показано, как объединить их в кластер.

Далее нужно присоединить узлы кластера к первому узлу; в результате Riak будет автоматически перераспределять данные между ними.

Перейдите на второй узел и соедините экземпляр системы Riak с первым узлом.

Это позволяет настроить присоединение, но сам процесс соединения узлов еще не выполнен. Просмотрите запланированные изменения:

Данная команда покажет результат запланированного действия. Прежде чем выполнять действие, система Riak заставляет просматривать запланированные изменения.

Если планируемое действие выглядит правильно, подтвердите его:

Cluster changes committed

Чтобы просмотреть новую кластерную группу, наберите:

Повторите описанную процедуру на остальных узлах кластера.

Вывод

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

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

Если у вас два гигабайта оперативной памяти, вместо нагрузочных приложений, например взяв офисный пакет LibreOffice Writer, вы можете заменить на более легкий AbiWord, вместо системного браузера который предустановлен по умолчанию Firefox, выберите более легкий, например Midori.

Ссылка на основную публикацию