Prelink - система за по-бързо стартиране на приложения

Тук е обяснено как се инсталират и настройват програми под Linux.

Модератори: Freya, Kulu Ngile

Prelink - система за по-бързо стартиране на приложения

Мнениеот IV4O » Пет 04, Яну, 2008 20:23

Какво е Prelink?
Бавят ли ви се програми при стартирането им? Искате да подобрите бързодействието им? Решението на проблема се нарича Prelink. Това е свободен софтуер, чийто създател е Джейкъб Джелинек от Red Hat, служещ за ускоряване времето на стартиране на приложенията. Как работи той? За да функционират нормално, програмите се нуждаят от библиотеки. Библиотеките се интегрират в тях, посредством така нареченото link-ване (от анлг. връзка, съединение). Съществуват два вида статично, при компилираните и динамично, при бинарните пакети. При повечето малки програми динамичното линкване е сравнително бързо, но при по-големите, писани на C++ и тези, които имат зависимости с повече библиотеки, отнема доста време. Prelink редуцира това неудобство при динамичното линкване, като модифицира бинарните файлове и библиотеките по специфичен начин, за да ускори тяхното зареждане. В общи линии пренарежда блоковете, от които са изградени и начина по който се зареждат – премества ги в определено място или ги линква от изпълним файл. Промените и са напълно обратими. Този способ е широко използван в Gentoo и според тестовете, направени от разработчиците на тази дистрибуция – ефектът е над 50% по-малко време за зареждане на KDE приложения, Firefox, OpenOffice.org и още много други.

Инсталиране и конфигурация
Prelink е портнат в stable, testing и unstable хранилищата на Debian, така че за да го инсталираме е необходимо да изпълним в теминала само:
Код за потвърждение: Избери целия код
sudo apt-get install prelink
За да накараме системата да го ползва, трябва да редактираме с любимия си текстов редактор като root файла /etc/default/prelink – да намерим тези редове:
Код за потвърждение: Избери целия код
PRELINKING=unknown
            ...
PRELINK_FULL_TIME_INTERVAL=14
и да ги заменим с:
Код за потвърждение: Избери целия код
PRELINKING=yes
            ...
PRELINK_FULL_TIME_INTERVAL=7
Стартирането на програмата първият път отнема повечко време (но това е само първият път), около 10 мин, в зависимост от машината и става с командата:
Код за потвърждение: Избери целия код
sudo /etc/cron.daily/prelink
За да не изпълняваме тази команда периодично, можем да я добавим в конфигурационния файл на apt и да се изпълнява автоматично след инсталацията на всяко ново приложение – ще забавя инсталацията му с около минутка. Това става като отново с администраторски права редактираме файла /etc/apt/apt.conf , като добавим следния ред:
Код за потвърждение: Избери целия код
DPkg::Post-Invoke {”echo Running prelink, please wait…;/etc/cron.daily/prelink”;}
или го създадем, ако не съществува такъв. Това е! Приятна работа с вашата вече по-бърза система!


Забележка 1: При първото стартиране на Prelink можем да го пуснем с някоя опция като:
Код за потвърждение: Избери целия код
sudo /etc/cron.daily/prelink -а
По този начин ще се прелинкват всички бинарни файлове и библиотеки. Можем да ползваме някоя и от другите опции, за повече информация:
Код за потвърждение: Избери целия код
man prelink


Забележка 2: Това ръководство е напълно вярно и за Ubuntu, но без версиите от Feisty нагоре, тъй като те използват друг способ за постигане на този ефект и не е препоръчителна употребата на Prelink.

Източник 1
Източник 2
Източник 3
Източник 4
Източник 5
Източник 6
Източник 7


Ивайло ГЕОРГИЕВ
Последна промяна IV4O на Нед 08, Мар, 2009 20:29, променена общо 1 път
Аватар
IV4O
Участник
 
Мнения: 22
Регистриран на: Сря 01, Авг, 2007 10:35
Местоположение: Стара Загора/София

Мнениеот phantomlord » Съб 05, Яну, 2008 0:29

*bravo* *beer*
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 1:16
Местоположение: София

Мнениеот Progress » Нед 06, Яну, 2008 15:26

Сложих го под Gentoo но като че ли не виждам разлика. Може ли да се види по някакъв начин дали работи това нещо. :P
Progress your mind
Аватар
Progress
Участник
 
Мнения: 562
Регистриран на: Сря 24, Яну, 2007 20:12

Мнениеот nplus » Нед 06, Яну, 2008 18:41

http://www.gentoo.org/doc/en/prelink-howto.xml
От тук ли гледа? Ако е така - значи работи, няма шанс иначе :)
Аватар
nplus
Участник
 
Мнения: 74
Регистриран на: Пон 06, Авг, 2007 20:44
Местоположение: Габрово

Мнениеот Progress » Нед 06, Яну, 2008 21:41

nplus написа:http://www.gentoo.org/doc/en/prelink-howto.xml
От тук ли гледа? Ако е така - значи работи, няма шанс иначе :)


Да, от там гледах. :roll:
Progress your mind
Аватар
Progress
Участник
 
Мнения: 562
Регистриран на: Сря 24, Яну, 2007 20:12

Мнениеот IV4O » Пон 07, Яну, 2008 10:47

На Debian, особено ако е слаба машината - доста се усеща, особено при Iceweasel. В момента го тествам на PCLinuxOS, но там не намирам особена разлика - може би там настройките му са други. За Gentoo не мога да кажа - според създателите му ефекта бил несравним ("50% по-бързо"), което мисля е малко пресилено. Успех на пробващите, надявам се статията да им е от полза, според има ефект (поне при Debian), не чак толкова пресилен, но има и си заслужава! Успех! :wink:
Аватар
IV4O
Участник
 
Мнения: 22
Регистриран на: Сря 01, Авг, 2007 10:35
Местоположение: Стара Загора/София

Re: Prelink - система за по-бързо стартиране на приложения

Мнениеот tolostoi » Сря 09, Яну, 2008 13:41

IV4O написа:Забележка 2: Това ръководство е напълно вярно и за Ubuntu, но без версиите от Feisty нагоре, тъй като те използват друг способ за постигане на този ефект и не е препоръчителна употребата на Prelink.
Малко като офтопик, а какво ползват в Убунту, забелязах че е нещо свързанос libc6 библиотеката, това след инсталиране на пакет, нещо индексира или там каквото прави. Сега немога и да проверя защото го разкарах, но там наистина стартирането е по бързо осезаемо, сравнено с Дебиан (за Убунту 7.10 говоря)
.
Изображение
Аватар
tolostoi
Участник
 
Мнения: 329
Регистриран на: Пон 11, Дек, 2006 16:01
Местоположение: Варна

Мнениеот IV4O » Чет 10, Яну, 2008 12:53

Ами ползват някаква друга система според това ръководство http://ubuntuforums.org/showthread.php?t=74197 или по-точно
Код за потвърждение: Избери целия код
UPDATE 1/2/07: Prelink is no longer necessary in Feisty. Feisty uses a new linking mechanism called DT_GNU_HASH which dramatically speeds up the linking process without the need for continuously running this prelink program. Again, prelink is NOT useful starting from Feisty
. Лично аз не съм я ползвал и не я познавам, но явно е по-добра. :)
Аватар
IV4O
Участник
 
Мнения: 22
Регистриран на: Сря 01, Авг, 2007 10:35
Местоположение: Стара Загора/София

Мнениеот biggie » Чет 02, Апр, 2009 19:34

А дали има нещо общо с preload?
Аватар
biggie
Участник
 
Мнения: 280
Регистриран на: Пон 04, Дек, 2006 15:47


Назад към Инсталиране и работа с приложения

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron