Ускорение Ubuntu

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

Оглавление
Ускорение загрузки Ubuntu
Отключение Compiz
Ускорение GTK
Оптимизация Gnome
Ускорение Unity
Ускорение Qt
Ускорение Ubuntu программ с помощью preload
Корректное преобразование имени компьютера
Тотальная чистка и реиндексация Sqlite
Быстрая Epiphany
Создание кэшей
Системное меню Gnome
Подкачка Ubuntu
Оптимизация XML файлов Ubuntu
Быстрый старт OpenOffice
Кэширование символьных таблиц
Приоритет Xorg
Отключаем Антифишинг для ускорения Mozilla Firefox
Ускорение файловой системы
Заключение


Ускорение загрузки Ubuntu

1. Оптимизация initramfs. Initramfs - это временная файловая система, использующаяся ядром при начальной загрузке. Загрузчик загружает в память ядро и образ initramfs, и начальная загрузка системы происходит из этого образа. Соответственно, чем меньше лишнего в этом образе - тем быстрее будет загружаться система и тем меньше она будет требовать памяти на начальном этапе. Нужно заменить в /etc/initramfs-tools/initramfs.conf строку MODULES=most на MODULES=dep и вызвать sudo update-initramfs -k all -u. В дальнейшем, при появлении новых ядер сборка initramfs будет происходит автоматически и не требовать дополнительных команд.
2. Не спать! У ядра есть параметр noresume, который может сэкономить секунду-другую при запуске компьютера. Параметр noresume "объясняет" ядру, что это обычная загрузка, а не просыпание ото сна. Параметр noresume нельзя применять, если вы используете спящие режимы. Поэтому если у вас ноутбук и/или стационарный ПК, который вы НЕ перезагружаете/выключаете, а переводите в спящий режим, то НЕ СТОИТ использовать данный параметр. Добавить параметр noresume можно в GRUB2 в файле /etc/default/grub, изменив переменную GRUB_CMDLINE_LINUX_DEFAULT. Не забудьте применить изменения командой sudo update-grub.
3. Перестроение readahead. Любая стандартная установка Ubuntu со временем претерпевает изменения в количестве установленных и загружаемых во время старта ОС сервисов. Списки файлов в этом случае становятся неактуальными и требуют обновления. Параметр ядра profile позволяет перестроить списки предварительно загружаемых файлов. Желательно при появлений новых версий ядер, однократно во время загрузки нажать клавишу для входа в меню загрузчика, далее нажать клавишу "e" и добавить в конец списка параметров ядра слово profile. Клавишей F10 или сочетанием Ctrl + x продолжите загрузку, которая будет чуть дольше из-за перестроения списков readahead. В дальнейшем грузитесь как обычно, без параметра profile, но с выходом нового ядра, повторяйте процедуру для освежающего эффекта.
4. Отключите splash. Графический Ubuntu splash-screen, показываемый во время загрузки системы, требует время на свою загрузку и скрывает процесс загрузки. В GRUB2 в файле /etc/default/grub удалите из переменной GRUB_CMDLINE_LINUX_DEFAULT слова quiet и splash. Не забудьте применить изменения командой sudo update-grub.
5. Лучше отключить протокол IPv6, который, когда не используется и не настроен, вызывает ненужные проблемы. Если используется загрузчик GRUB2, то редактируем sudo nano /etc/default/grub, ищем строчку GRUB_CMDLINE_LINUX_DEFAULT и дописываем опцию ipv6.disable=1. Сохраняем изменения и выходим. Вызываем sudo update-grub. Перезагружаемся.
6. Можно уменьшить таймауты при загрузке. Если используется загрузчик GRUB2, то редактируем sudo nano /etc/default/grub, ищем строчку GRUB_HIDDEN_TIMEOUT и GRUB_TIMEOUT и уменьшаем до разумных значений. GRUB_HIDDEN_TIMEOUT отвечает за задержку показа меню, когда у вас Ubuntu одна операционная система на компьютере. GRUB_TIMEOUT отвечает за задержку, если операционных систем несколько. Не забудьте sudo update-grub.

Отключение Compiz в Ubuntu до релиза 11.04

Compiz — композитный менеджер окон для X Window System, использующий для ускорения 3D графики OpenGL. Compiz обязателен с релиза Ubuntu 11.04. Он предоставляет множество новых графических эффектов, доступных в любых графических средах X Window, в том числе GNOME и KDE. Если у вас установлены драйвера к вашей видеокарте, то скорее всего, Compiz включен. Через некоторое время, умильные вздохи по поводу «сгоравших» окон проходят и приходит мысль упростить Compiz или отключить его совсем. Если хочется упростить эффекты, то нужно установить пакет compizconfig-settings-manager через Синаптик или в Терминале скомандовать sudo aptitude install compizconfig-settings-manager. Через меню Система - Параметры - Менеджер настройки Compiz Config вы можете получить доступ к возможностям Compiz и упростить эффекты по вашему вкусу. Если желаете просто отключить Compiz, то это можно сделать через пункт Меню — Система — Параметры — Внешний вид, в закладке «Внешний вид» выставить «Без эффектов». У каждого будут свои доводы за и против Compiz. Лично я отключил его после умильных вздохов по поводу «дрожащих» окон и обнаружив, что моя видеокарта nVidia с включенным Compiz в режиме «Производительность по запросу» постоянно работает на полную нагрузку и не собирается сбавлять обороты вентилятора. «Включать или не включать» решать вам.

Ускорение GTK

Многие знают, что в Ubuntu рабочей средой является Gnome, в котором важную роль играет GTK. Изменяя настройки GTK, мы влияем на все приложения, использующие GTK библиотеки. Мы изменим следующие параметры, отвечающие за задержки (паузы):

  • gtk-menu-popup-delay - минимальное время в миллисекундах, которое указатель должен оставаться на пункте меню перед появлением подменю.
    По умолчанию, значение 225 (подробнее GtkSettings.html)
  • gtk-menu-popdown-delay - время в миллисекундах перед скрытием подменю когда указатель перемещается на подменю.
    По умолчанию, значение 1000 (подробнее GtkSettings.html)
  • gtk-menu-bar-popup-delay - задержка в миллисекундах перед появлением подменю после панели меню.
    По умолчанию, значение 0 (подробнее GtkSettings.html).

Запустите Меню — Стандартные - Текстовый редактор и вставьте следующие строки:

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

Сохраните в своей домашней папке под именем .gtkrc-2.0 и обратите внимание на первый символ в имени файла, это должна быть точка. То есть вы создали скрытый файл, начинающийся с точки, содержащий параметры для GTK. Можно запустить Терминал и проверить себя, введя команду cat ~/.gtkrc-2.0 или в файловом менеджере Наутилус нажать Ctrl + H, после чего визуально найти скрытый файл .gtkrc-2.0 в вашей домашней папке. Теперь можно завершить сеанс Gnome и зайти снова, быстрое перемещение в различных меню должно быть вам наградой.

Минусы: возможно придется отключить Compiz, который многими вещами занимается сам, а следовательно перекрывает некоторые параметры. Отключить Compiz можно в Меню — Система — Параметры — Внешний вид, в закладке «Внешний вид» выставить «Без эффектов».

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

В Gnome настройки хранятся по аналогии с реестром MS Windows, с той лишь разницей что «реестр» Gnome это xml файлы. Доступ к «реестру» можно получить через редактор конфигураций gconf-editor или через вызов команд типа gconftool-2. Самый легкий способ внести требуемые изменения — это запустить Меню — Стандартные — Терминал и копировать/вставлять строки, начинающиеся с gconftool-2. Права суперпользователя не нужны, так как мы правим свои настройки, а не системные.

  • gconftool-2 --type bool --set /apps/metacity/general/reduced_resources true
    Metacity будет стараться избегать анимаций и уменьшит потребление ресурсов, единственное, что визуально изменится — при перемещении окон не будет отображаться содержимое. Предварительно узнать значение параметра и/или убедится что изменения произошли, можно запустив в Терминале команду gconftool-2 --get /apps/metacity/general/reduced_resources
  • gconftool-2 --type bool --set /apps/panel/global/enable_animations false
    Выключаем анимацию включения/выключения панелей. Предварительно узнать значение параметра и/или убедится что изменения произошли, можно запустив в Терминале команду gconftool-2 --get /apps/panel/global/enable_animations
  • gconftool-2 --type bool --set /desktop/gnome/interface/accessibility false
    Отключаем «Вспомогательные технологии» для людей с ограниченными возможностями. Вы выключаете вспомогательные технологии клавиатуры, мыши и технологии при входе в систему для людей с ограниченными возможностями. Включить обратно вы сможете в Меню — Система — Параметры — Вспомогательные технологии. Предварительно узнать значение параметра и/или убедится что изменения произошли, можно запустив в Терминале команду gconftool-2 --get /desktop/gnome/interface/accessibility
  • gconftool-2 --type string --set /apps/panel/global/panel_animation_speed panel-speed-fast
    Устанавливаем скорость анимации панелей «Быстрая». Предварительно узнать значение параметра и/или убедится что изменения произошли, можно запустив в Терминале команду gconftool-2 --get /apps/panel/global/panel_animation_speed
  • gconftool-2 --type integer --set /apps/metacity/general/auto_raise_delay 100 Если у вас установлен режим, в котором при наведении мыши на окно открытого приложения, последнее выдвигается на передний план, то параметр auto_raise_delay контролирует задержку между наведением мыши и выдвижением окна на передний план. Предварительно узнать значение параметра и/или убедится что изменения произошли, можно запустив в Терминале команду gconftool-2 --get /apps/metacity/general/auto_raise_delay


Редактор конфигураций gconf-editor

Ускорение Unity

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

Ускорение Qt

В мире *nix традиционно считается, что Gnome — это GTK, а KDE — это Qt, но пользователю ни что не мешает запускать программы GTK в KDE, а Qt программы в Gnome. Даже больше! Авторы Gnome и KDE многое сделали, чтобы внешний вид «не родных» программ выглядел так же как и родные «программы». Сейчас мы рассмотрим как ускорить запуск программ, написанные с использованием Qt в Gnome. Но в начале нужно уяснить, что программа, написанная на Qt может не зависеть от KDE, а может дополнительно использовать возможности KDE. Вот такие зависящие от KDE программы, при своем старте должны получить «минимальный набор KDE».
Как узнать какие программы зависят от KDE? В Ubuntu рабочая среда по умолчанию Gnome и программы, которые разработчики установили вам, чаще всего используют GTK или Python. Qt программы скорее всего вы ставили уже самостоятельно. Если помните какие программы устанавливали сами, то можно в Синаптике отыскать их по именам и убедится, прочитав описание к программе и заглянув в зависимости программы. В Синаптике есть меню Файл — История, который напомнит хронологию событий. Если в Терминале вызвать команду sudo aptitude search '~i!~nlib(~Dqt|~Dkde)', то она напомнит пакеты, которые установлены (~i) И это не библиотека (!~nlib) И в зависимостях есть Qt (~Dqt) ИЛИ в зависимостях есть KDE (~Dkde). Эти программы скорее всего выиграют от данного метода.
Заранее запуская «минимальный набор KDE», мы получим ускорение в старте многих Qt программ. Для этого в Меню — Система - Параметры — Запускаемые приложения добавим запускаемую программу /usr/bin/kdeinit под именем FastQt. После перезагрузки компьютера, ваши Qt программы будут быстрее стартовать, так как не нужно дополнительно запускать «минимальный набор KDE».

Минусы: добавление лишней записи в «Запускаемые приложения» замедляет время старта компьютера. Выигрыш в скорости запуска Qt приложений достигается за счет удерживаемых в памяти библиотек KDE, запущенных заранее. Если у вас достаточно оперативной памяти, то это стОящая сделка. Если оперативной памяти мало, тогда скорее всего лучше не применять данный совет и использовать в Ubuntu только gtk программы и избегать установки qt программ, часто начинающихся с буквы K.

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

Preload - демон, работающий в фоне, который собирает информацию о наиболее часто используемых программах, кэширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Нужно просто установить preload sudo aptitude install preload в Терминале или запустить Синаптик и в нем найти preload и установить его. Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле /etc/preload.conf не обязательно.
Если у вас SSD диск, в котором как известно нет вращающихся блинов и считывающих головок, то, желательно, в /etc/preload.conf изменить параметр и привести его к виду sortstrategy = 0. Этим самым вы прикажете не производить сортировку очереди запросов, так как для SSD это не имеет смысла. Перезапустите preload - sudo /etc/init.d/preload restart

Минусы: если у вас действительно мало ОЗУ, то возможно, не стоит устанавливать preload. Пусть ваш компьютер работает в режиме «запустил программу — поработал — закрыл программу и освободил ОЗУ»

Корректное преобразование имени компьютера

При установке Ubuntu на свой компьютер на одном из этапов вы задавали имя компьютера. Многие пользователи не имеют в локальной сети своего доменного имени, а домашние пользователи, не имеющие сети, навряд ли занимались воздвижением своего DNS сервера. Многим программам нужно будет перейти от имени компьютера к IP адресу — это называется прямое преобразование DNS имени в IP адрес. Если преобразовать не удастся, то возникают ненужные тайм ауты. Проверьте так ли это, вызвав Терминал и вставив в него команду nslookup `hostname` (такие кавычки делает клавиша на клавиатуре перед клавишей 1 и под клавишей Esc). Если имя вашего компьютера не удалось корректно преобразовать в IP адрес, то следует сделать следующее:

  • в Терминале скомандуйте sudo gedit /etc/hosts
  • Вы вызовете Текстовый редактор с правами суперпользователя, которые дадут вам возможность изменить системный файл.
    Вы увидите строку 127.0.0.1 localhost.
    Эта строка связывает зарезервированное слово localhost с адресом 127.0.0.1.
    Кратко говоря, localhost и 127.0.0.1 это ваш компьютер.
    Строку вида 127.0.0.1 localhost нужно дополнить до вида 127.0.0.1 localhost ИМЯВАШЕГОКОМПЬЮТЕРА
  • Если вы забыли имя вашего компьютера, то команда hostname в Терминале напомнит вам.
  • Сохраните изменения в Текстовом редакторе и проверьте снова как происходит в Терминале преобразование имени в IP адрес с помощью команды nslookup `hostname`

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

Тотальная чистка и реиндексация Sqlite

Многие программы в Ubuntu хранят данные не в текстовых файлах, а в базах данных и часто в качестве последней выступает система управления базами данных (СУБД) Sqlite. Можно провести средствами Sqlite чистку пустых записей и создание заново индексов файла базы данных. Лучшим вариантом будет создание скрипта, содержащего вызовы Sqlite, для периодического запуска его время от времени. И так:
1. Установите sqlite3 через Синаптик или в Терминале sudo aptitude install sqlite3
2. Запустим файловый менеджер Nautilus и создадим папку bin в домашней папке. Перейдем в папку bin и там в меню Наутилуса Файл — Создать документ — Пустой файл. Дайте имя файлу, например optimizer.sh
Откройте этот файл в Текстовом редакторе и вставьте строки, сохраните изменения

#!/bin/bash
find ~/ -size +100k -type f -print0 | \
while read -d '' FILE; do
  abs_file_name=$(readlink -f "$FILE")
  headfile=`head -c 15 "$abs_file_name"`;
  if [ "$headfile" = "SQLite format 3" ]; then
    file_size_do=`du -b "$abs_file_name"|cut -f1`;
    sqlite3 "$abs_file_name" "VACUUM; REINDEX;" > /dev/null 2>&1
    file_size_posle=`du -b "$abs_file_name"|cut -f1`;
    echo "$abs_file_name";
    echo "Размер ДО $file_size_do";
    echo "Размер ПОСЛЕ $file_size_posle";
    echo -n "Процент "
    echo "scale=2; ($file_size_posle/$file_size_do)*100"|bc -l
  fi
done
sleep 2
exit 0

3. В Наутилусе на файле optimizer.sh щелкните правой клавишей мыши и вызовите Свойства, в закладке «Права» выставьте права Выполнения или все это можно сделать в Терминале, используя команду chmod +x ~/bin/optimizer.sh
4. Перейдите в консоль, нажав Ctrl + Alt + F1 и залогиньтесь под своей учетной записью.
5. Завершите Gnome/KDE

sudo /etc/init.d/gdm stop
sudo /etc/init.d/kdm stop

6. Запустите скрипт, который разыщет все файлы SQLite в домашней директории и оптимизирует их. Перенаправляем вывод в файл, чтобы посмотреть его позже в удобной среде Gnome.

~/bin/optimizer.sh > ~/report_sqlite_shrink.txt

7. Дождитесь окончания работы скрипта и перезагрузись:

sudo shutdown -r +0

8. Откройте в Текстовом Редакторе файл ~/report_sqlite_shrink.txt и посмотрите какие файлы подверглись оптимизации, посмотрите в процентах на сколько лишнего баласта было до оптимизации.
От данного совета, особенно выиграют пользователи KDE и Google Chrome, им и порекомендуем данный совет.

Быстрая Epiphany

Если вы установили в Ubuntu браузер Epiphany через Синаптик или sudo aptitude install epiphany-browser , то можно ускорить запуски Epiphany в системе. Для этого в Меню — Система – Параметры — Запускаемые приложения добавим запускаемую программу /usr/bin/epiphany --no-window под именем FastEpiphany. Добавляет эффективности этому методу установленный preload. Фокус в том, что при старте Ubuntu мы запускаем браузер Epiphany, которого не видно из-за параметра --no-window, последующие запуски браузера Epiphany будут быстрыми, так как ядро Epiphany уже в памяти.

Минусы: добавление лишней записи в «Запускаемые приложения» замедляет время старта компьютера.

Создание кэшей

GTK+ может использовать файлы кэша созданные gtk-update-icon-cache чтобы избежать лишних системных вызовов и дисковых операций при запуске приложений. Так как формат кэш файлов позволяет их совместно использовать между множеством приложений (mmap()ed), общее потребление памяти тоже сокращается. Нам остается периодически запускать скрипт, который вызывает gtk-update-icon-cache и создавать кэши, ускоряющие доступ к значкам тем.
Вызовем заодно fc-cache, который создает описания для шрифтов. Мы создавали файл optimizer.sh в теме Чистка и создание заново индексов Sqlite, поэтому советую не плодить новый скрипт, а просто открыть файл ~/bin/optimizer.sh в Текстовом редакторе и добавить строки в конец файла:

echo "Старт Создание кэша иконок и шрифтов"
#обновление кэша иконок в своей папке
for d in ~/.icons/*; do gtk-update-icon-cache -f $d; done
#обновление кэша иконок в системе
for d in /usr/share/icons/*; do sudo gtk-update-icon-cache -f $d; done
#обновление кэша шрифтов
sudo fc-cache -fv
fc-cache ~/.fonts
echo "Окончание Создания кэша иконок и шрифтов"

Системное меню Gnome

После перезагрузки компьютера, каждый мог наблюдать, что системное меню Gnome при первом обращение к нему, открывается нехотя. Происходит обращение к значкам меню и собственно построение самого меню, что вызывает задержки при первом открытии, последующие открытия системного меню, как видели многие, происходит уже моментально.
Чтобы ускорить открытие системного меню в первый раз, нам нужно соорудить костыль «программное открытие системного меню». Мысль проста, мы создадим скрипт, который нажмет Alt + F1 после перезагрузки компьютера. Сочетание клавиш Alt + F1 является по умолчанию зарезервированным для открытия системного меню с помощью клавиатуры. Если вы поменяли это сочетание на другое, то вам придется изменить и скрипт.
Итак, делаем следующие действия:

  • Установим через Синаптик пакет xmacro или в Терминале sudo aptitude install xmacro
  • Запустим файловый менеджер Nautilus и создадим папку bin в домашней папке.
  • Перейдем в папку bin и там в меню Наутилуса Файл — Создать документ — Пустой файл. Дайте имя файлу, например fast_menu.sh
  • Откройте ~/bin/fast_menu.sh в Текстовом редакторе и вставьте строки, сохраните изменения

    #!/bin/sh
    #касаемся файлов в надежде что их закэшируют для меню
    find /usr/share/pixmaps/ -type f| xargs -0 cat > /dev/null
    #программно нажимаем Alt+F1
    echo "Delay 1\n
    KeyStrPress Alt_L\n
    KeyStrPress F1\n
    Delay 2\n
    KeyStrRelease Alt_L\n
    KeyStrRelease F1\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    KeyStrPress Down\n
    KeyStrRelease Down\n
    Delay 2\n
    KeyStrPress Escape\n
    KeyStrRelease Escape"|xmacroplay ":0.0"
    exit 0
  • В Наутилусе на файле fast_menu.sh щелкните правой клавишей мыши и вызовите Свойства, в закладке «Права» выставьте права Выполнения или все это можно сделать в Терминале, используя команду chmod +x ~/bin/fast_menu.sh
  • В Меню — Система – Параметры — Запускаемые приложения добавим ~/bin/fast_menu.sh под именем FastMenu

Минусы: метод хорошо работает вместе с Автоматическим входом в систему, то есть включив свой компьютер, вы получите готовый Рабочий Стол с уже открывавшимся меню. Если у вас не Автоматический вход, то метод для вас плох и вам придется после регистрации в системе, лицезреть волшебство в виде самооткрывающегося меню и бегающего фокуса по меню. Так же минусом можно посчитать, то что, если вы решитесь править нажатия клавиш в скрипте, то можете запутаться в Нажатии (KeyStrPress) и Отпускании (KeyStrRelease) клавиш, а это чревато временной дикостью клавиатуры в системе.

Подкачка Ubuntu

В современных операционных системах используется понятие «подкачка страниц». Для повторения вспомним, что это процесс, который при нехватке ОЗУ вытесняет неиспользуемые страницы памяти в область, называемой в MS Windows файл подкачки pagefile.sys, а в Linux раздел подкачки swap. Когда страница снова нужна ее загружают обратно в ОЗУ. Что «файл подкачки» MS Windows, что раздел swap Linux обитают на жестком диске и в разы медленнее ОЗУ, поэтому активное перемещение страниц туда-сюда-обратно замедляет работу компьютера в целом.
Вывод?
Нужно чтобы в компьютере было достаточно ОЗУ для ваших задач. Вывод банален, но это так. В довершении изменим чуток поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap. Иными словами, при 100-60=40% занятой памяти, Ubuntu уже начнет использовать раздел swap. При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 и тем самым приказать Ubuntu не использовать swap пока занятая ОЗУ не достигнет 100-10=90%.

Эффект от swappiness=10


Для такого изменения проще всего запустить Терминал и в нем скомандовать sudo gedit /etc/sysctl.conf
Запустится Текстовый редактор с правами суперпользователя и в нем в конец файла вставьте строку vm.swappiness = 10
Сохраните изменения и перезагрузите компьютер

Минусы: вы редактируете системный файл, требуется осторожность и желательно сделать резервную копию файла, например так sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup

Оптимизация XML файлов Ubuntu

В структурированных файлах XML многие программы в Ubuntu хранят настройки и данные. Часто эти файлы имеют читабельный формат, хотя сам человек их редко читает. Есть возможность преобразовать XML файлы из читабельного формата понятного человеку в формат удобный компьютеру. Такие преобразованные файлы XML быстрее загружаются и меньше занимают ОЗУ. В помощь вам в таком преобразовании написаны скрипты, которые можно скачать по адресу http://www.gnomefiles.org/app.php?soft_id=1397
Далее следует распаковать архив desktop-optimizations.tar.gz и запускать по очереди скрипты от обычной учетной записи:

  • rhythmbox-quickstart - Оптимизирует файлы музыкального проигрывателя Rhythmbox
  • evolution-optimize - Оптимизирует файлы почтовой программы Evolution
  • gnome-optimize - Оптимизирует файлы Gnome
  • openoffice-optimize - Оптимизирует файлы офисного пакета OpenOffice.org
  • doc-optimize - Оптимизирует файлы помощи Gnome
  • gconf-optimize - Оптимизирует файлы конфигураций Gnome («реестр» Gnome)

Если в системе несколько учетных записей, то скрипты rhythmbox-quickstart и gconf-optimize, нужно запускать от каждой учетной записи. Ничего страшного не произойдет, если вы запустите скрипты несколько раз, оптимизация оптимизированного не разрушительна. Желательно перезайти в систему после оптимизации XML для вступления в силу изменений.

Минусы: скрипты оптимизируют как файлы в домашней директории, так и системные файлы, запрашивая привилегии через sudo. Хотя скрипты делают резервные копии, но если при длительной операции у вас перезагрузится компьютер из-за сбоя электросети, то результаты, возможно, будут неоднозначны и плачевны. Наличие ИБП приветствуется.

Быстрый старт OpenOffice

Если вы часто используете офисный пакет OpenOffice и ваш компьютер обладает большим количеством ОЗУ, то стоит использовать «Быстрый старт». Эта опция выведет вам значок в область уведомлений, через который вы быстро сможете получить доступ к программным продуктам из пакет OpenOffice. Так же в памяти будет находится ядро OpenOffice и запуски программ из пакета будут намного быстрее, чем без «Быстрого старта». Для включения «Быстрого старта» запустите OpenOffice Writer и в меню Сервис — Параметры — OpenOffice.org — Память поставьте флажок «Использовать быстрый запуск». В этом же пункте, разумно будет выставить «Количество шагов» в 10, здесь имеется в виду количество отмен, которые OpenOffice будет запоминать. Меньше количество шагов = меньше занятая память.
В меню Сервис — Параметры — OpenOffice.org — Java можно отключить использование Java в OpenOffice и тем самым уменьшить потребление ОЗУ и ускорить работу OpenOffice, но вы лишитесь следующего:

  • В OpenOffice.org Base не будет работать Мастер Создания Форм (Create Form Wizard )
  • В OpenOffice.org Writer не будут работать Мастера Писем, Факсов, Повестки дня, Веб-страница (Letter Wizard, Fax Wizard, Agenda Wizard, HTML Wizard )
  • В OpenOffice.org Writer нельзя будет сохранить данные в форматы AportisDoc (Palm), DocBook, Pocket Word (*.psw) )
  • В OpenOffice.org Calc нельзя будет сохранить данные в формат Pocket Excel
  • Во всех программах из пакета OpenOffice.org не будут работать макросы OooBean, JavaScript Macros, Beanshell Macros, Python.

Минусы: «Быстрый старт» OpenOffice, как и любая программа, запускаемая при включении компьютера, немного замедляет старт компьютера.

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

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

mkdir ~/.compose-cache

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

Приоритет Xorg

Совет позволяет ускорить работу в Ubuntu за счёт повышения приоритета Xorg. Совет подходит как пользователям Ubuntu (Gnome), так и kUbuntu (KDE). Приоритет меняется командой renice. Нужно помнить что от 0 до -19 приоритет возрастает, а от 0 до +19 убывает. В нашем случае, мы меняем приоритет Xorg с 0 на -5

sudo renice -n -5 $(pidof X)

Если хочется чтобы после перезагрузки ПК Xorg уже был с повышенным приоритетом, то можно поместить в Автозагрузку gksu /путь/к/скрипту в Gnome и kdesudo /путь/к/скрипту в KDE.
Или внести команду renice -n -5 $(pidof X) в /etc/rc.local, и она будет выполнена из под root и после загрузки Xorg.

Отключаем Антифишинг для ускорения Mozilla Firefox

ВНИМАНИЕ!!! Если не понимаете, что такое фишинг и как защищаться от угроз в Интернете, то НЕ стоит читать дальше и применять данный совет! Фишинг - это способ обмана вас, когда вам дают прямую ссылку на сайт, внешне неотличимый от настоящего или ссылка внешне похожа на известный ресурс. Оказавшись на таком сайте, пользователь может сообщить мошенникам ценную информацию, позволяющую получить доступ к аккаунтам и банковским счетам. Для защиты от фишинга производители основных интернет-браузеров договорились о применении одинаковых способов информирования пользователей о том, что они открыли подозрительный сайт, который может принадлежать мошенникам. Новые версии браузеров уже обладают такой возможностью, которая соответственно именуется «антифишинг».
Антифишинг - это защита, которая никогда не бывает лишней. Антифишинг - это дополнительная забота о вас. Но если вы контролируете ситуацию, например у вас установлен плагин NoScript для Firefox, который защищает вас на неизвестных сайтах. Или вы сами соблюдаете сетевую безопасность, то, возможно, вы захотите ускорить Firefox, ценой отключения Антифишинга и уменьшения безопасности.
Ускорение достигается за счет того, что каждая URL не проверяется по базе Фишинговых адресов. Для ускорения Firefox, методом отключения Антифишинга, сделайте следующее:
1) В Firefox в меню Правка - Настройки - Защита. Снимите галочки с пунктов "Блокировать сайты, подозреваемые в атаках" и "Блокировать сайты, подозреваемые в мошенничестве". Сохраните изменения.
2) Закройте Firefox. Теперь нам нужно удалить большой файл-базу адресов, после удаления Firefox создаст его маленьким и быстрым. Запустите Терминал и скомандуйте

ls -laF ~/.mozilla/firefox/*.default/urlclassifier*
rm -i ~/.mozilla/firefox/*.default/urlclassifier*

3) Запустите Firefox и проверьте его работоспособность и время старта и отзывчивость в работе. Проверьте в Терминале командой

ls -laF ~/.mozilla/firefox/*.default/urlclassifier*

что файл создался меньшего размера, чем прежде. Прочтите выше совет "Тотальная чистка и реиндексация Sqlite".

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

Ускорение файловой системы

В данном совете мы будем изменять настройки, касающиеся файловых систем. Данный совет настоятельно рекомендуется применять ТОЛЬКО обладателям Источником Бесперебойного Питания (ИБП).
В Linux вы можете использовать множество файловых систем и у каждой свои параметры, влияющие на производительность. Указать нужные вам параметры, нужно аккуратно отредактировать файл /etc/fstab, сделав предварительно его копию.
Параметры файловых систем для улучшения производительности:

  • ускорение ext4
    • barrier=0 Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным, что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно; современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации; если сначала будет создана запись фиксации, журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря, «шлагбаум» запрещает запись любых блоков, посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать, что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум barrier=0, мы ускоряем операции записи на разделы ext4.
    • noatime, nodiratime – отключение записи времени последнего доступа (для файлов/директорий). Или relatime - атрибут времени доступа (atime) обновляется, но только в том случае, если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime.
    • commit – время между сбросами буферов на диск. Рекомендую commit=100
    • data=writeback. По умолчанию, режим журналирования для ext4 - режим data=ordered. Файловая система журналирует только метаданные, данные и метаданные группируются в один модуль - транзакцию. Этот режим, хотя без гарантии, защищает данные при неожиданной перезагрузке. В режиме data=writeback файловая система не производит какого-либо журналирования данных. При неожиданных перезагрузках системы это может вызвать потерю данных в обновляемых файлах. Данный режим обеспечивает самую высокую производительность ext4. Чтобы сменить режим ordered на менее безопасный, но скоростной writeback следует ОБЯЗАТЕЛЬНО отмонтировать раздел и выполнить sudo tune2fs -O has_journal -o journal_data_writeback /dev/ИМЯ_РАЗДЕЛА. Желательно сделать проверку раздела на ошибки sudo fsck /dev/ИМЯ_РАЗДЕЛА. В данной статье не рассматривается и не рекомендуется изменение режима журналирования для корневого раздела /.
  • ускорение 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
  • Минус syslog. Демон ведения журналов syslog (а также идущий ему на смену - rsyslog) пишет журналы в каталоге /var/log/ и добавив одну строку делает операцию sync, которая сводит на нет кэш диска и более долгий сброс буферов. Можно изменить поведение демона и указать не делать sync после каждого добавления. Найдите файл конфигураций демона, обычно это /etc/syslog.conf или /etc/rsyslog.d/ и все пути вида /var/log/что-то-там измените, дописав знак минус ("-") перед путями. Например, была строка
    mail.err /var/log/mail.err
    стало
    mail.err -/var/log/mail.err

Заключение

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