- Preload
- Contents
- Go-preload
- Configuration
- Preload
- Installation
- ReadMe.conf
- Prelink и Preload для ускорения запуска программ в Linux
- Prelink
- Preload
- Тестирование
- Ускорение запуска программ с помощью Preload
- Инсталяция
- Настройка
- Статистика
- А теперь цифры
- Prelink и Preload для ускорения запуска программ в Linux
- Prelink
- Preload
- Тестирование
- compizomania
- Страницы
- 06 января 2014
- Как ускорить загрузку программ в Ubuntu/Linux Mint и производные
Preload
Preloading is the action of putting and keeping target files into the RAM. The benefit is that preloaded applications start more quickly because reading from the RAM is always quicker than from the hard drive. However, part of your RAM will be dedicated to this task, but no more than if you kept the application open. Therefore preloading is best used with large and often-used applications like Firefox and LibreOffice.
Contents
Go-preload
gopreload-git AUR is a small daemon created in the Gentoo forum. To use it, first run this command in a terminal for each program you want to preload at boot:
For regular users, take ownership of /usr/share/gopreload/enabled and /usr/share/gopreload/disabled :
and then gopreload each program you want to preload:
Then, as instructed, press Enter when the program is fully loaded. This will add a list of files needed by the program in /usr/share/gopreload/enabled . To load all lists at boot, enable the systemd service file gopreload.service .
To disable the loading of a program, remove the appropriate list in /usr/share/gopreload/enabled or move it to /usr/share/gopreload/disabled .
It is advised to run gopreload-prepare after system upgrades to refresh the file lists. For the task, the following batch tool come handy:
Just let it run without using the system.
Configuration
The configuration file is located in /etc/gopreload.conf
Preload
preload is a program written by Behdad Esfahbod which runs as a daemon and records statistics about usage of programs using Markov chains; files of more frequently-used programs are, during a computer’s spare time, loaded into memory. This results in faster startup times as less data needs to be fetched from disk.
Installation
Install the preload AUR package. You may now start the systemd service preload , and/or enable it in order to start at boot.
Источник
ReadMe.conf
Prelink и Preload для ускорения запуска программ в Linux
В этой заметке я опишу две утилиты, которые помогут ускорить работу системы Linux, а конкретно — запуск приложений: prelink и preload. Prelink оптимизирует исполняемые файлы для быстрого связывания с библиотеками. Preload кэширует часто используемые библиотеки и программы.
Prelink
Большинство приложений в Linux используют динамически загружаемые библиотеки, которые содержат различные функции, необходимые для их работы. При каждом запуске приложения должны быть также загружены эти библиотеки. В случае тяжелых приложений, имеющих большое количество связей, этот процесс может занять определенное время. При этом выполняемые для связывания библиотек действия одинаковы, если сами библиотеки не меняются.
Утилита prelink позволяет прописать связи с библиотеками непосредственно в исполняемый файл, что ускорит запуск приложения. Выполняется это без перекомпиляции приложений.
Установите приложение prelink средствами вашего дистрибутива. В файле /etc/prelink.conf содержится список путей, файлы по которым prelink будет обрабатывать. Модифицировать этот список вам скорее всего не придется, это за вас сделали авторы вашего дистрибутива. Запустите prelink -amfR (—all —conserve-memory —force —random) для выполнения прелинкинга всех приложений. Описание опций:
- -a — All, применить предварительное связывание ко всем выполняемым файлам.
- -m — Сохраняет пространство виртуальной памяти. Это требуется, если вы имеете много библиотек, которые необходимо связать.
- -f — Вынуждает повторить предварительное связывание для файлов, которые уже подвергались ему.
- -R — Random, выбирает случайный порядок адресов, это увеличивает безопасность против атак переполнений буферов.
Учтите, что запускать prelink необходимо после каждого обновления библиотек и/или приложений. Можно назначить его на запуск по cron.
Preload
Preload — демон, собирающий информацию о часто используемых программах и библиотеках и кэширующий их в памяти для быстрого запуска. Соответственно нерационально использовать его, если у вас мало оперативной памяти. Настройки находятся в файле /etc/preload.conf. Стандартные значения скорее всего вам подойдут, однако я приведу описание основных опций:
- model.cycle — как часто preload будет получать от системы данные об используемых программ и библиотек.
- model.halflife — как часто preload будет сбрасывать старую информацию.
- model.minsize — ограничение на размер программы или библиотеки, которую preload будет обрабатывать.
В файле /var/lib/preload/preload.state можно увидеть информацию о работе preload.
Тестирование
При помощи утилиты time делались пять замеров выполнения команды «php -v» с интервалом в пару секунд. Сначала пять замеров без оптимизаций, затем была запущена утилита prelink, проведены пять замеров. Наконец, был запущен демон preload, после появления php в кэше preload были снова проведены пять замеров. Результаты отображены на графике (цифры — миллисекунды):
Следует заметить, что на десктопе выигрыш в производительности будет существенно больше, за счет «тяжелых» DE, имеющих большое количество связанных библиотек.
Источник
Ускорение запуска программ с помощью Preload
Preload — демон, работающий в фоне, который собирает информацию о наиболее часто используемых программах, кеширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Используя Preload вы можете с пользой потратить гигабайты неиспользуемой оперативной памяти (конечно если они у вас есть).
Инсталяция
Настройка
Конфигурация программы храниться в файле /etc/preload.conf, стандартные значения должны подойти большинству пользователей. Но если вы хотите настроить все по своему, милости просим. Ниже описаны самые основные настройки, подробности, как всегда в документации или в статье, написанной разработчиком Preload.
Опция / Значение по умолчанию / Описание
model.cycle / 20 [секунд] / Как часто Preload будет опрашивать систему на предмет используемых программ и библиотек.
model.halflife / 168 [часов] / Как часто Preload будет забывать старую, накопившуюся информацию. Каждый раз, накопленная статистика будет терять 50% своего значения.
model.minsize / 2000000 [байт] / Нечто вроде ограничения на размер программы или библиотеки, на которую будет Preload обращать внимание. Если вы хотите, чтобы кешились мелкие программки — уменьшите значение, только для крупных, соответственно увеличьте это значение.
Использование памяти, считается по формуле:
(Всего RAM x model.memtotal) + (RAM доступная при старте x model.memfree) + (Кеш x model.memcached)
model.memtotal / -10%
model.memfree / 100%
model.memcached / 30%
Стандартные значения, как уже упоминалось, должны подойти большинству людей, так что не меняйте их без особой на то необходимости.
Статистика
Если вам интересно, какие ресурсы на данный момент использует Preload, можете посмотреть на это в его лог-файле:
sudo tail -f /var/log/preload.log
Еще больше информации можно получить, глянув на файл /var/lib/preload/preload.state
Но вам совершенно не обязательно обращать внимание на все эти файлы, позитивные результаты будут и без этого.
А теперь цифры
Пройдет немного времени, прежде чем Preload определит и поймет ваши типичные программы для работы, так что не надо надеяться, что увеличение скорости загрузки произойдет прямо сейчас.
Источник
Prelink и Preload для ускорения запуска программ в Linux
Prelink
Большинство приложений в Linux используют динамически загружаемые библиотеки, которые содержат различные функции, необходимые для их работы. При каждом запуске приложения должны быть также загружены эти библиотеки. В случае тяжелых приложений, имеющих большое количество связей, этот процесс может занять определенное время. При этом выполняемые для связывания библиотек действия одинаковы, если сами библиотеки не меняются. Утилита prelink позволяет прописать связи с библиотеками непосредственно в исполняемый файл, что ускорит запуск приложения. Выполняется это без перекомпиляции приложений.
Установите приложение prelink средствами вашего дистрибутива. В файле /etc/prelink.conf содержится список путей, файлы по которым prelink будет обрабатывать. Модифицировать этот список вам скорее всего не придется, это за вас сделали авторы вашего дистрибутива. Запустите prelink -amfR (—all —conserve-memory —force —random) для выполнения прелинкинга всех приложений. Описание опций:
-a — All, применить предварительное связывание ко всем выполняемым файлам.
-m — Сохраняет пространство виртуальной памяти. Это требуется, если вы имеете много библиотек, которые необходимо связать.
-f — Вынуждает повторить предварительное связывание для файлов, которые уже подвергались ему. Это необходимо, т.к. программа prelink прекращает обработку существующих старых связанных файлов, зависимые библиотеки которых могли измениться.
-R — Random, выбирает случайный порядок адресов, это увеличивает безопасность против атак переполнений буферов.
Учтите, что запускать prelink необходимо после каждого обновления библиотек и/или приложений. Можно назначить его на запуск по cron.
Preload
Preload — демон, собирающий информацию о часто используемых программах и библиотеках и кэширующий их в памяти для быстрого запуска. Соответственно нерационально использовать его, если у вас мало оперативной памяти. Настройки находятся в файле /etc/preload.conf. Стандартные значения скорее всего вам подойдут, однако я приведу описание основных опций:
model.cycle — как часто preload будет получать от системы данные об используемых программ и библиотек.
model.halflife — как часто preload будет сбрасывать старую информацию.
model.minsize — ограничение на размер программы или библиотеки, которую preload будет обрабатывать.
В файле /var/lib/preload/preload.state можно увидеть информацию о работе preload.
Тестирование
При помощи утилиты time делались пять замеров выполнения команды «php -v» с интервалом в пару секунд. Сначала пять замеров без оптимизаций, затем была запущена утилита prelink, проведены пять замеров. Наконец, был запущен демон preload, после появления php в кэше preload были снова проведены пять замеров. Результаты отображены на графике (цифры — миллисекунды):
Следует заметить, что на десктопе выигрыш в производительности будет существенно больше, за счет «тяжелых» DE, имеющих большое количество связанных библиотек.
UPD: В этом комментарии snakeye приводит более корректный график, где ось Y начинается с 0.
UPD2: В этом комментарии wRAR поправляет насчет описания опции -f prelink.
Источник
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
06 января 2014
Как ускорить загрузку программ в Ubuntu/Linux Mint и производные
В этой статье мне хотелось бы рассказать о двух утилитах, которые помогут ускорить работу системы Linux, а конкретно — запуск приложений: prelink и preload.
1. Prelink преобразовывает разделяемые библиотеки и выполняемые файлы таким образом, чтобы уменьшить количество требуемых перераспределений памяти при разрешении зависимостей и, таким образом, ускоряет запуск программ.
2. Preload кеширует часто запускаемые программы и библиотеки в памяти системы. После некоторого использования демон составляет список часто запускаемых программ и будет держать их в памяти для повторных запусков.
Примечание . Кеш (Cache) — накопитель, быстродействующая память, куда складываются программы, с которыми вы работаете.
Обе утилиты есть в Центре приложений Ubuntu/Менеджере программ (Linux Mint), откуда вы можете их установить, а лучше следуйте инструкции, которая поможет не только установить, но и настроить.
Установка и настройка Prelink
Выполните следующую команду в терминале для установки:
sudo apt-get install prelink
Следующая команда применит предварительное связывание ко всем выполняемым файлам:
Для периодического запуска демона нужно отредактировать файл prelink, открыв его следующей командой в текстовом редакторе:
sudo gedit /etc/default/prelink
Найдите строку и измените параметр:
PRELINKING=unknown
на
PRELINKING=yes
А теперь запустите prelink:
Выполните следующую команду:
sudo apt-get install preload
Как правило конфигурация preload после установки, по умолчанию не требует изменений.
Почему не одна программа, а две? Всё просто. Prelink, запускается раз в день и модифицирует ELF файлы. Preload программа-демон, которая постоянно отслеживает интенсивность запуска программ и на основании собранной статистики загружает компоненты в память.
Вот и всё. Теперь вы можете проверить скорость запуска программ в системе.
Источник