Операция «Оптимизация». Советы по ускорению UbuntuПока наши братья-гентушники неделями компилят свою систему, мы применим парочку советов и точно обгоним самого быстрого пингвина на планете. Убунту и так шла практически вровень с Gentoo, но наши изменения позволят вырвать победу из лап Pygoscelis papua. Пристегнись, мы ускоряемся! Отключение CompizCompiz —композитный менеджер окон для X Window System, использующий OpenGL для ускорения 3D-графики. Он предоставляет множество новых графических эффектов, доступных в любых средах рабочего стола, в том числе GNOME и KDE. Если у тебя установлены драйвера для видеокарты, то, скорее всего, менеджер включен. Помни, что видеокарта с Compiz, включенным в режиме «Производительность по запросу», постоянно работает на полную нагрузку и не собирается сбавлять обороты вентилятора. Если хочешь от видеокарты тишины или бережешь киловатты, советую упростить эффекты Compiz или отключить его совсем. В первом случае нужно установить пакет compizconfig-settingsmanager через Синаптик или в Терминале скомандовать:
Чтобы получить доступ к возможностям Compiz и упростить эффекты по своему вкусу, проходим по маршруту: Меню {„ Система „„ Параметры „| Менеджер настройки Compiz Config. Если желаешь просто отключить Compiz, то это можно сделать через пункт Меню „| Система Ћ Параметры r„ Внешний вид, в закладке «Внешний вид» выстави «Без эффектов». Уменьшение задержек GTKВ Ubuntu рабочей средой является Gnome, где важную роль играет GTK. Изменяя настройки этого тулкита, мы влияем на все приложения, использующие его. Предлагаю подкрутить параметры, отвечающие за задержки: Ювелирная настройка GnomeВ Gnome настройки хранятся по аналогии с реестром MS Windows, с той лишь разницей, что «реестр» Gnome – это XML-файлы. Доступ к ним можно получить через редактор конфигураций gconf-editor или через вызов команды gconftool-2. Чтобы ускорить время отклика «реестра», предпримем следующие шаги: 1. Укажем Metacity не использовать анимационные эффекты, снизив тем самым потребление ресурсов: Единственное, что визуально изменится – при перемещении окон не будет отображаться содержимое; 2. Выключим анимацию включения/выключения панелей: 3. Отключим вспомогательные технологии клавиатуры, мыши и т.д., предназначенные для людей с ограниченными возможностями: 4. Зададим скорость анимации панелей «Быстрая»: Если у тебя установлен режим, при котором во время наведения мыши на окно открытого приложения последнее выдвигается на передний план, то можно потвикать параметр auto_raise_delay, контролирующий задержку между наведением мыши и выдвижением окна: Оптимизация XMLВ структурированных файлах XML многие программы в Ubuntu хранят настройки и данные. Есть возможность преобразовать XML из «читабельного» формата, понятного человеку, в формат, удобный компьютеру. Преобразованные XML-файлы быстрее загружаются и занимают меньше ОЗУ. В таком преобразовании помогут скрипты, которые можно скачать по адресу: www.gnomefiles.org/app.php?soft_id=1397. Распаковываем полученный архив (desktop-optimizations.tar.gz) и по очереди запускаем скрипты от обычной учетной записи:
Если в системе несколько аккаунтов, то скрипты rhythmbox-quickstart и gconf-optimize нужно запускать от каждой учетной записи. Ничего страшного не произойдет, если ты запустишь скрипты несколько раз – оптимизация «уже оптимизированного» не разрушительна. Желательно перезайти в систему после оптимизации XML для того, чтобы изменения вступили в силу. Скрипты оптимизируют как файлы в домашней директории, так и системные файлы, запрашивая привилегии через sudo. Скрипты делают резервные копии, но если при длительной процедуре оптимизации у тебя из-за сбоя электросети перезагрузится компьютер, то результаты, возможно, будут неоднозначны и плачевны. Наличие ИБП приветствуется. Ускорение запуска программ, использующих QTТрадиционно считается, что Gnome — это GTK, а KDE — это Qt, но пользователю ничто не мешает запускать программы GTK в KDE, а Qt программы в Gnome. Даже больше! Авторы Gnome и KDE многое сделали, чтобы «чужие» программы внешне выглядели так же, как «родные». Сейчас мы рассмотрим, как ускорить запуск программ, написанных с использованием Qt в Gnome. В действительности, Qt'шная прога может не зависеть от KDE, но использовать возможности этой среды. Для этого при старте она должна получить «минимальный набор KDE». Как узнать, какие программы зависят от KDE? В Терминале даем команду: На экран будут выведены пакеты, которые установлены ('~i') И это не библиотека ('!~nlib') И в зависимостях есть Qt ('~Dqt') ИЛИ в зависимостях есть KDE ('~Dkde'). Заранее запуская «минимальный набор KDE» и удерживая в памяти соответствующие библиотеки, мы добьемся ускорения при старте этих программ. Трюк весьма прост: в Меню DE Система „t Параметры „‘ Запускаемые приложения добавляем запускаемую программу /usr/bin/kdeinit под именем FastQt. Все, после перезагрузки компьютера твои Qt-программы будут стартовать быстрее. Ускорение запуска программ с помощью PreloadPreload – демон, работающий в фоновом режиме, который собирает информацию о наиболее часто используемых программах, кэширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Нужно просто установить preload командой: Или запустить Синаптик, найти в нем preload и установить его. Настройки preload по умолчанию подходят для большинства пользователей, поэтому изменять что-либо в файле /etc/preload.conf не нужно. Легкая оптимизация файлов SQLITEМногие программы в Ubuntu хранят свои данные не в текстовых файлах, а в базах данных, и часто в качестве последних выступают SQLite. Средствами таких СУБД можно почистить пустые записи и создать индексы файла базы данных заново. Первым делом устанавливаем sqlite3 через Синаптик или набираем в Терминале: Далее создаем скрипт для оптимизации данных в СУБД SQLite. Он будет выполнять переиндексацию и удаление из таблиц пустых записей.
С помощью команды «chmod +x ~/bin/optimizer.sh» делаем файл исполняемым. Периодически можно вызывать этот скрипт при закрытых программах, чьи файлы баз данных мы хотим оптимизировать. Тотальная оптимизация файлов SQLITEВ предыдущем разделе мы оптимизировали SQLite-файлы данных браузеров Firefox, Epiphany и RSS-читалки Liferea. Сейчас немного усложним задачу. Найдем в домашней директории все SQLite-файлы и конкретно их заоптимизируем :). Что нам потребуется? 1. Установи sqlite3 через Синаптик или в Терминале, если ты еще этого не сделал: 2. Создай файл ~/bin/sqlite_shrink.sh следующего содержания: 3. Сделай ~/bin/sqlite_shrink.sh исполняемым через Наутилус или в Терминале «chmod +x ~/bin/sqlite_shrink.sh». 4. Теперь закрой сеанс в Ubuntu и перейди в консоль, нажав <Ctrl+Alt+F1>. Залогинься в консоли и командуй: 5. Дождись окончания работы скрипта и перезагружайся: После тотальной реиндексации файлов все программы, использующие SQLite, получат выигрыш. А какие именно? Читай ~/report_sqlite_ shrink.txt, в нем увидишь имена файлов, размер до и после чистки и реиндексации. Любители Google Chrome и KDE точно будут рады данному совету. Периодически повторяй процедуру, и освежающий эффект гарантирован. Создание кэшейGTK+ может использовать файлы кэша, созданные gtk-update-iconcache, чтобы избежать лишних системных вызовов и дисковых операций при запуске приложений. Так как формат кэш-файлов позволяет множеству приложений (mmap()ed) совместно их использовать, общее потребление памяти тоже сокращается. Нам остается периодически запускать скрипт, который вызывает gtk-update-icon-cache, и создавать кэши, ускоряющие доступ к тем значкам. Вызовем заодно fc-cache, который создает описания для шрифтов.
Сделай файл исполняемым с помощью команды “chmod +x ~/bin/ rebuild_cache.sh”. Если добавляешь в систему новые шрифты и темы Gnome, то запускай скрипт ~/bin/rebuild_cache.sh, который построит для них кэши. Кэширование символьных таблицСоздай пустой каталог Теперь твои Qt/GTK программы будут чуток быстрее стартовать и потреблять меньше памяти, благодаря тому, что libX11 будет создавать в ~/.compose-cache кэши распарсенной информации и использовать ее повторно. Подкачка UbuntuВ современных операционных системах используется понятие «подкачка страниц». Вспомним, что это процесс, который при нехватке ОЗУ вытесняет неиспользуемые страницы памяти в область, называемую разделом подкачки. Когда страница снова нужна, ее загружают обратно в ОЗУ. Поскольку своп обитает на жестком диске, который в разы медленнее оперативки, активное перемещение страниц тудасюда-обратно замедляет работу компьютера в целом. Вывод? Нужно, чтобы в компьютере было достаточно ОЗУ для твоих задач. Вывод банален, но это так. В довершение немного изменим поведение Ubuntu в отношении использования ОЗУ и области подкачки. Есть такой параметр vm.swappiness, по умолчанию он имеет значение 60 и служит для того, чтобы определить процент свободной памяти, при котором начнется активный сброс страниц в раздел swap. Иными словами, при памяти, занятой на 40% (100-60), Ubuntu уже начнет использовать область подкачки. При большом количестве ОЗУ в компьютере лучше снизить значение параметра vm.swappiness до 10, тем самым дав пингвину указание не использовать swap, пока занятый объем оперативки не достигнет 90% (100-10). Для такого изменения проще всего запустить Терминал и в нем скомандовать: После перезагрузки шустрая оперативка будет более эффективно использоваться, а медленный swap – реже задействоваться. ЗаключениеТы должен понимать, что настройки всегда по определению консервативны, и разработчик ОС/программы стремится, чтобы они работали на большом спектре систем. Поэтому тюнинг операционки — это не нажатие одной кнопки с надписью «Сделать все быстро». Понимая, что описано в совете, и анализируя, чем именно достигается ускорение, ты аккуратно применяешь команды и внимательно следишь за поведением системы. Надеюсь, что советы тебе пригодились, и твой пингвин стал более отзывчивым. Info
|