fbpx
  • slide microsft
  • slide aida64
  • Вышло одно из самых ожидаемых дополнений к Mortal Kombat X
  • Решение ATI Radeon HD3000/4000 Overscan/Underscan
  • Увеличение размера виртуального и системного диска в Windows Server без остановки VMWare
  • XCOM Enemy Unknown (2012)
  • Новый Unreal Tournament 4 будет распространяться бесплатно
  • Прошивка MAC-адресса в интегрированной сетевой карте
  • Как отключить надпись
  • Создание своего Ubuntu Live CD
  • Скрипт установки принтеров Canon LBP на Linux Ubuntu (обновлено)
  • PDFZilla. Конвертор из PDF в Word.
  • Новое на сайте tro.net.ua
  • Что означают тесты в AIDA64
  • Китайцы назвали WINDOWS 8 угрозой для страны
  • С Днем Программиста 2017
  • Что нас ждет в грядущих драйверах NVidia 300.**
  • Восстановление БД 1С (SQL) после динамического обновления
  • Тормозит приложение почта (mail) на iMac
  • Анлок и джеилбрейк 3.1.2 на iPhone 2G/3G/3GS из-под Windows
  • Немного о глобальных аватарах
  • Изменения правил для приложений в Google Play
  • Скрипт для выгрузки базы 1С в DT
  • Borderlands 2 заработал на Windows 8
  • Дергается курсор мышки в Windows 7. Решение
  • Что такое UEFI
  • Dj TRO  vs Dj Celeron - Atomix Wars [2003]
  • Названа дата выхода Windows 10
  • Функция хеширования (конвертирования) строки в MD5 для 1С
авг28

Оптимизация запуска приложений в Linux

Троцкий Юрий

Оптимизация запуска приложений в Linux

Описание двух утилит, которые помогут Linux быстрее запускать наиболее часто используемые приложения.

     Как-бы не хороша была система, ее всегда можно еще чуть-чуть оптимизировать. Вот и для Linux-а есть свои оптимизаторы, которые в самом деле ускоряют запуск часто используемых приложений.

Prelink - оптимизирует исполняемые файлы для быстрого связывания с библиотеками.

   Большинство приложений в Linux используют динамически загружаемые библиотеки, которые содержат различные функции, необходимые для их работы. При каждом запуске приложения должны быть также загружены эти библиотеки. В случае тяжелых приложений, имеющих большое количество связей, этот процесс может занять определенное время. При этом выполняемые для связывания библиотек действия одинаковы, если сами библиотеки не меняются. Утилита prelink позволяет прописать связи с библиотеками непосредственно в исполняемый файл, что ускорит запуск приложения. Выполняется это без перекомпиляции приложений.

  • Установите приложение prelink средствами вашего дистрибутива или из терминала.

 apt-get

install prelink

  • В файле /etc/prelink.conf содержится список путей, файлы по которым prelink будет обрабатывать. Модифицировать этот список вам скорее всего не придется, это за вас сделали авторы вашего дистрибутива.
  • Запустите prelink -amfR (--all --conserve-memory --force --random) для выполнения прелинкинга всех приложений.

Описание опций:
-a — All, применить предварительное связывание ко всем выполняемым файлам.
-m — Сохраняет пространство виртуальной памяти. Это требуется, если вы имеете много библиотек, которые необходимо связать.
-f — Вынуждает повторить предварительное связывание для файлов, которые уже подвергались ему. Это необходимо, т.к. программа prelink прекращает обработку существующих старых связанных файлов, зависимые библиотеки которых могли измениться.
-R — Random, выбирает случайный порядок адресов, это увеличивает безопасность против атак переполнений буферов.
Учтите, что запускать prelink необходимо после каждого обновления библиотек и/или приложений. Можно назначить его на запуск по cron.

  

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

    Соответственно нерационально использовать его, если у вас мало оперативной памяти. 

Установка из терминала:

sudo su

apt-get install preload

 

     Настройки находятся в файле /etc/preload.conf. Стандартные значения скорее всего вам подойдут, однако я приведу описание основных опций:

model.cycle — как часто preload будет получать от системы данные об используемых программ и библиотек.
model.halflife — как часто preload будет сбрасывать старую информацию.
model.minsize — ограничение на размер программы или библиотеки, которую preload будет обрабатывать.
В файле /var/lib/preload/preload.state можно увидеть информацию о работе preload.

 

     В среднем, при установке обеих утилит производительность поднимается на 10%

Оставить комментарий

Пожалуйста, войдите, чтобы комментировать.