Сообщество Ubuntu Linux

Путевые заметки • настройки дистрибутивов на базе Ubuntu

Поиск ☜★☞ Yandex

Полезности ☼ Ubuntu

RSS-каналы


Yahoo! 
MSN 
AOL 
Bloglines 

Контакт


    Разгоняем Ubuntu

    Поделиться
    avatar
    Admin
    Администратор
    Администратор

    Сообщения : 84
    Очки : 236
    Дата регистрации : 2010-10-10
    Возраст : 43
    Откуда : Аргентина Буэнос Айрес

    Разгоняем Ubuntu

    Сообщение автор Admin в Чт 28 Окт - 2:33:22


    Отключение Compiz

    Compiz —композитный менеджер окон для X Window System, использующий OpenGL для ускорения 3D-графики. Он предоставляет множество новых графических эффектов, доступных в любых средах рабочего стола, в том числе GNOME и KDE. Если у тебя установлены драйвера для видеокарты, то, скорее всего, менеджер включен. Помни, что видеокарта с Compiz, включенным в режиме «Производительность по запросу», постоянно работает на полную нагрузку и не собирается сбавлять обороты вентилятора. Если хочешь от видеокарты тишины или бережешь киловатты, советую упростить эффекты Compiz или отключить его совсем. В первом случае нужно установить пакет compizconfig-settingsmanager через Синаптик или в Терминале скомандовать:

    $ sudo aptitude install
    compizconfig-settings-manager

    Чтобы получить доступ к возможностям Compiz и упростить эффекты по своему вкусу, проходим по маршруту: Меню {„ Система „„ Параметры „| Менеджер настройки Compiz Config. Если желаешь просто отключить Compiz, то это можно сделать через пункт Меню „| Система Ћ Параметры r„ Внешний вид, в закладке «Внешний вид» выстави «Без эффектов».

    Уменьшение задержек GTK

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

    $ gedit ~/.gtkrc-2.0
    ### Минимальное время в миллисекундах, в течение которого указатель должен оставаться на пункте меню перед появлением подменю
    gtk-menu-popup-delay = 0
    ### Время в миллисекундах перед скрытием подменю, когда указатель перемещается на подменю
    gtk-menu-popdown-delay = 0
    ### Задержка в миллисекундах перед появлением подменю после панели меню
    gtk-menu-bar-popup-delay = 0

    Ювелирная настройка Gnome

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

    1. Укажем Metacity не использовать анимационные эффекты, снизив тем самым потребление ресурсов:

    $ gconftool-2 --type bool --set /apps/metacity/general/reduced_resources true

    Единственное, что визуально изменится – при перемещении окон не будет отображаться содержимое;

    2. Выключим анимацию включения/выключения панелей:

    $ gconftool-2 --type bool --set /apps/panel/global/enable_animations false

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

    $ gconftool-2 --type bool --set /desktop/gnome/interface/accessibility false

    4. Зададим скорость анимации панелей «Быстрая»:

    $ gconftool-2 --type string --set /apps/panel/global/panel_animation_speed panel-speed-fast

    Если у тебя установлен режим, при котором во время наведения мыши на окно открытого приложения последнее выдвигается на передний план, то можно потвикать параметр auto_raise_delay, контролирующий задержку между наведением мыши и выдвижением окна:

    $ gconftool-2 --type integer --set /apps/metacity/general/auto_raise_delay 100

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

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

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

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

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

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

    Традиционно считается, что Gnome — это GTK, а KDE — это Qt, но пользователю ничто не мешает запускать программы GTK в KDE, а Qt программы в Gnome. Даже больше! Авторы Gnome и KDE многое сделали, чтобы «чужие» программы внешне выглядели так же, как «родные». Сейчас мы рассмотрим, как ускорить запуск программ, написанных с использованием Qt в Gnome. В действительности, Qt'шная прога может не зависеть от KDE, но использовать возможности этой среды. Для этого при старте она должна получить «минимальный набор KDE». Как узнать, какие программы зависят от KDE? В Терминале даем команду:

    $ sudo aptitude search '~i!~nlib(~Dqt|~Dkde)'

    На экран будут выведены пакеты, которые установлены ('~i') И это не библиотека ('!~nlib') И в зависимостях есть Qt ('~Dqt') ИЛИ в зависимостях есть KDE ('~Dkde'). Заранее запуская «минимальный набор KDE» и удерживая в памяти соответствующие библиотеки, мы добьемся ускорения при старте этих программ. Трюк весьма прост: в Меню DE Система „t Параметры „‘ Запускаемые приложения добавляем запускаемую программу /usr/bin/kdeinit под именем FastQt. Все, после перезагрузки компьютера твои Qt-программы будут стартовать быстрее.

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

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

    $ sudo aptitude install preload

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

    Легкая оптимизация файлов SQLITE

    Многие программы в Ubuntu хранят свои данные не в текстовых файлах, а в базах данных, и часто в качестве последних выступают SQLite. Средствами таких СУБД можно почистить пустые записи и создать индексы файла базы данных заново. Первым делом устанавливаем sqlite3 через Синаптик или набираем в Терминале:

    $ sudo aptitude install sqlite3

    Далее создаем скрипт для оптимизации данных в СУБД SQLite. Он будет выполнять переиндексацию и удаление из таблиц пустых записей.

    $ gedit ~/bin/optimizer.sh
    #!/bin/sh
    ### Оптимизация для Firefox
    find ~/.mozilla/ -name '*.sqlite' -print -exec
    sqlite3 {} "VACUUM; REINDEX;" > /dev/null 2>&1 \;
    ### Оптимизация для Epiphany
    find ~/.gnome2/epiphany -name '*.sqlite'
    -print -exec sqlite3 {} "VACUUM; REINDEX;" >
    /dev/null 2>&1 \;
    ### Оптимизация для Liferea
    sqlite3 ~/.liferea*/liferea.db "VACUUM;
    REINDEX;" > /dev/null 2>&1
    exit 0

    С помощью команды «chmod +x ~/bin/optimizer.sh» делаем файл исполняемым. Периодически можно вызывать этот скрипт при закрытых программах, чьи файлы баз данных мы хотим оптимизировать.

    Тотальная оптимизация файлов SQLITE

    В предыдущем разделе мы оптимизировали SQLite-файлы данных браузеров Firefox, Epiphany и RSS-читалки Liferea. Сейчас немного усложним задачу. Найдем в домашней директории все SQLite-файлы и конкретно их заоптимизируем Smile. Что нам потребуется?

    1. Установи sqlite3 через Синаптик или в Терминале, если ты еще этого не сделал:

    $ sudo aptitude install sqlite3

    2. Создай файл ~/bin/sqlite_shrink.sh следующего содержания:

    $ gedit ~/bin/sqlite_shrink.sh
    #!/bin/sh
    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. Сделай ~/bin/sqlite_shrink.sh исполняемым через Наутилус или в Терминале «chmod +x ~/bin/sqlite_shrink.sh».

    4. Теперь закрой сеанс в Ubuntu и перейди в консоль, нажав . Залогинься в консоли и командуй:

    $ sudo /etc/init.d/gdm stop
    $ sudo /etc/init.d/kdm stop
    $ ~/bin/sqlite_shrink.sh > ~/report_sqlite_shrink.txt

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

    $ sudo shutdown -r +0

    После тотальной реиндексации файлов все программы, использующие SQLite, получат выигрыш. А какие именно? Читай ~/report_sqlite_ shrink.txt, в нем увидишь имена файлов, размер до и после чистки и реиндексации. Любители Google Chrome и KDE точно будут рады данному совету. Периодически повторяй процедуру, и освежающий эффект гарантирован.

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

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

    $ gedit ~/bin/rebuild_cache.sh
    #!/bin/sh
    ### Обновление кэша иконок в своей папке
    for d in ~/.icons/*; do gtk-update-icon-cache -f $d;
    done
    ### Обновление кэша иконок в системе
    for d in /usr/share/icons/*; do sudo gtk-update-iconcache
    -f $d; done
    ### Обновление кэша шрифтов
    sudo fc-cache -fv
    fc-cache ~/.fonts

    Сделай файл исполняемым с помощью команды “chmod +x ~/bin/ rebuild_cache.sh”. Если добавляешь в систему новые шрифты и темы Gnome, то запускай скрипт ~/bin/rebuild_cache.sh, который построит для них кэши.

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

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

    $ mkdir ~/.compose-cache

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

    Подкачка Ubuntu

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

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

    $ sudo sh -c "vm.swappiness = 10" >> /etc/sysctl.conf

    После перезагрузки шустрая оперативка будет более эффективно использоваться, а медленный swap – реже задействоваться.

    Заключение

    Ты должен понимать, что настройки всегда по определению консервативны, и разработчик ОС/программы стремится, чтобы они работали на большом спектре систем. Поэтому тюнинг операционки — это не нажатие одной кнопки с надписью «Сделать все быстро». Понимая, что описано в совете, и анализируя, чем именно достигается ускорение, ты аккуратно применяешь команды и внимательно следишь за поведением системы. Надеюсь, что советы тебе пригодились, и твой пингвин стал более отзывчивым.

    Iнфо

    • Проверить степень отзывчивости интерфейса позволит GTKPerf: linux.softpedia.com/progDownload/GtkPerfDownload-6715.html
    • Применяй советы по одному, каждый раз желательно перезагружать систему. Проверяй влияние совета временем, не торопись.
    • Чудес не бывает. Советы либо задействуют свободную память, либо отключают чтото для ускорения.

      Текущее время Ср 24 Май - 2:56:32