Уменьшение времени запуска программ в Ubuntu при помощи prelink и preload |
[исправить] |
Prelink позволяет уменьшить время загрузки приложений, слинкованных со
множеством динамических библиотек,
путем оптимизации на уровне структуры ELF файла.
aptitude install prelink
/etc/cron.daily/prelink
Preload - другое средство уменьшения времени запуска, основанное на предварительной
загрузке в память наиболее интенсивно используемых данных, не дожидаясь непосредственного
запуска программы (эффективно для повторных запусков).
aptitude install preload
Как правило конфигурация по умолчанию (/etc/preload.conf) не требует изменений,
но при желании можно обратить внимание на опции:
model.cycle (по умолчанию 20 сек) - как часто будет инициирован анализ
состояния системы и обновление кэша;
model.halflife ( по умолчанию 168 часов) - через какое время данные в кэше
будут считаться устаревшими
(каждый halflife степень актуальности данных в кэше будет уменьшена на 50%);
model.minsize (по умолчанию 2000000 байт) - минимальный объем данных прошедший
через системные вызовы,
необходимый для начала оптимизации приложения. Позволяет использовать preload
только для крупных приложений.
model.memtotal (-10%), model.memfree (100%), model.memcached (30%) - директивы
определяющие степень использования ОЗУ для хранения кэша.
Размер кэша рассчитывается по формуле:
model.memtotal * размер ОЗУ
+ model.memfree * размер свободной памяти во время запуска preload
+ model.memcached * размер памяти отведенной под системный кэш (Cached).
Состояние работы preload можно оценить через файл /var/lib/preload/preload.state
Если prelink, как правило, запускается раз в день и модифицирует ELF файлы,
то preload оформлен в виде программы-демона,
постоянно наблюдающего за интенсивностью запуска программ и на основании
собранной статистики загружающего компоненты в память.
Выигрыш от использования prelink для OpenOffice.org и Firefox около 15-20%, для preload - 50%.
|
|
|
|
Раздел: Корень / Администратору / Система / Linux специфика / Оптимизация и тюнинг в Linux |