Краткое описание руководства
Эти инструкции будут полезны для оптимизации процесса загрузки, его ускорения, а также общей оптимизации и ускорения системы.
Оптимизация загрузки Ubuntu
Начальная оптимизация загрузки
Это хорошая идея - сразу после установки Ubuntu, также операцию можно выполнить и позже. В этом пункте мы реорганизуем некоторые файлы, необходимые при загрузке, сделая тем самым загрузку ubuntu немного быстрее. Все, что нужно сделать - это нажать ESC в меню загрузчика GRUB при включении компьютера, затем выбрать вторую строку (она выглядит примерно так: /vmlinuz-2.6.20-15-generic root=UUID=6162302f-3f32-4b73-bb56-c42f4f9fbce2 …) нажмите кнопку E для редактирования строки. Добавьте слово profile в конец строки (не забудьте поставить пробел перед profile). После ввода нажмите Enter и затем клавишу B для загрузки системы. Первый раз система будет загружаться дольше чем обычно, последующие - будет загружаться быстрее первоначального варианта.
Оптимизация файловой системы
Следующие советы предназначены для систем с файловой системой EXT(3|4) и ReiserFS.
- Открыть терминал, ввести:
gksu gedit /etc/fstab
Добавить к строке (/) обозначением корня системы. Другими словами, нужно изменить следующую строку:
# /dev/sdb2 UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 / ext3 defaults,errors=remount-ro 0 1
На:
# /dev/sdb2 UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 / ext3 defaults,errors=remount-ro,noatime,data=writeback 0 1
UUID=f4d4d73d-4141-4701-a7e2-ec41664483a7 ext3 - это лишь частный случай, у вас будут другие значения.
- Теперь введем следующие команды в консоли:
gksu gedit /boot/grub/grub.cfg
Добавьте следующую опцию:
rootflags=data=writeback
В конец следующей строки:
# defoptions=quiet splash rootflags=data=writeback
так
# altoptions=(recovery mode) single rootflags=data=writeback
Сохранить, затем ввести команды:
sudo update-grubВведите следующие команды, чтобы изменить файловую систему на лету.
sudo tune2fs -o journal_data_writeback /dev/sdb2
Это все, перезагрузитесь и войдите, скорость должна увеличиться при работе с видео, изображениями и аудио файлами.
- Параметры для ext4 для обладателей Источником Бесперебойного Питания (ИБП)
- barrier=0 Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным, что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно; современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации; если сначала будет создана запись фиксации, журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря, «шлагбаум» запрещает запись любых блоков, посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать, что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум barrier=0, мы ускоряем операции записи на разделы ext4.
- noatime, nodiratime – отключение записи времени последнего доступа (для файлов/директорий). Или relatime - атрибут времени доступа (atime) обновляется, но только в том случае, если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime.
- commit – время между сбросами буферов на диск. Рекомендую commit=100
- Параметры для btrfs для обладателей Источником Бесперебойного Питания (ИБП)
- nobarrier Код файловой системы обязан перед созданием записи фиксации [журнала] быть абсолютно уверенным, что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно; современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации; если сначала будет создана запись фиксации, журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря, «шлагбаум» запрещает запись любых блоков, посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать, что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум nobarrier, мы ускоряем операции записи на разделы btrfs.
- noatime, nodiratime – отключение записи времени последнего доступа (для файлов/директорий). Или relatime - атрибут времени доступа (atime) обновляется, но только в том случае, если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Рекомендую использовать relatime.
- nodatacow – При включенном механизме copy-on-write появляются дополнительные издержки и параметром nodatacow мы отключаем эту возможность, которая на desktop компьютере редко используется.
- vm.dirty_writeback_centisecs. Увеличим время между сбросом «грязных» буферов vm.dirty_writeback_centisecs в /etc/sysctl.conf. Рекомендую vm.dirty_writeback_centisecs = 15000
Системная оптимизация
Настройка Swappiness
Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки. Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap. Иными словами, при 100-60=40% занятой памяти, Ubuntu уже начнет использовать раздел swap. При большом количестве ОЗУ в компьютере, лучше изменить параметр vm.swappiness до 10 и тем самым приказать Ubuntu не использовать swap пока занятая ОЗУ не достигнет 100-10=90%. В консоли введите следующую команду:
gksu gedit /etc/sysctl.conf
Добавьте строку в конец файла:
vm.swappiness=10
- «Параллельная» загрузка. Если Вы имеете двухядерный процессор, или он поддерживает технологию hyperthreading - то их можно задействовать в системе. Откройте терминал и выполните команду:
gksu gedit /etc/init.d/rc
найдите CONCURRENCY=none и замените на:
CONCURRENCY=shell
Сохраните и перезагрузите компьютер.
IPv6
В Linux большинство программ используют протокол IPv4 для подключения к интернету. В Ubuntu IPv6 включен по умолчанию, отключим его, если он вызывает проблемы в сети:
gksu gedit /etc/default/grub
Найдите параметр GRUB_CMDLINE_LINUX_DEFAULT и аккуратно дополните значением ipv6.disable=1 Сохраните изменения. Вызовите
sudo update-grub
для применений изменений, перезагрузите компьютер.
Ускорение запуска программ, с помощью preload
- Preload - демон, работающий в фоне, который собирает информацию о наиболее часто используемых программах, кэширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Нужно просто установить preload
sudo aptitude install preload
в Терминале или запустить Синаптик и в нем найти preload и установить его. Настройки preload по умолчанию подходят большинству, поэтому изменять что-либо в файле /etc/preload.conf не обязательно.
Кеширование символьных таблиц
Создайте пустой каталог
mkdir ~/.compose-cache
Ваши Qt/GTK программы будут чуток быстрее стартовать и потреблять меньше памяти, благодаря тому, что libX11 будет создавать в ~/.compose-cache кеши распарсенной информации и использовать ее повторно.
Оптимизация DE
Ускорение Gnome
- Открыть текстовый редактор и скопировать туда следующие строки
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».
Ссылки
- Как собрать ядро под конкретную аппаратную конфигурацию http://www.linuxcenter.ru/lib/articles/system/kernel26_install.phtml
- Перенос части операций с винчестером в оперативную память при работе с /tmp → снижение обращений к винчестеру статья используйте только когда много памяти
- Более актуальная версия данной статьи об Ускорение Ubuntu. После проверки временем, советы будут переноситься в данную вики.