Linux optimization - prelink

Щоб розібратися, що відбувається при прелінкінге, потрібно згадати про те, що переважна більшість Linux-додатків не містить в собі весь необхідний для їх роботи код, а використовує т.зв. колективні бібліотеки. І зазвичай програми при складанні зв'язуються з такими бібліотеками динамічно, тобто необхідні функції викликаються з них в ході завантаження програми. В одних випадках це відбувається швидко, в інших - дратівливо медленно.І боротися з цим перекомпиляцией і оптимізацією майже марно - виграш в швидкості не перевищує декількох відсотків.

Однак операція динамічного зв'язування програми з опорними бібліотеками завжди відбувається однаково. І тому виникає припущення - а чи не можна виконати його раз і назавжди? Можна, і саме в цьому - в збереженні бібліотечних зв'язків в виконуваному файлі програми, - і полягає прелінкінг (його не слід змішувати зі статичної складанням програм).

в більшості, якщо не у всіх, дистрибутивах ставиться стандартним менеджером пакетів

опції доступні в хелпе

в результаті софт запускається швидше.

працює система стабільно і спритно, але в разі виникнення проблем

скасування попереднього зв'язування

Запускати кожен раз після установки / оновлення / перевстановлення софта, щоб всі програми були попередньо пов'язані

P.S. Є приємний «побічний» ефект - зменшує апетити софта щодо пам'яті

13 Responses to "Prelink"

  1. Linux optimization - prelink

А які є мінуси?

  • Linux optimization - prelink

    мінуси ... особисто я не стикався
    та й в тирнета не зустрічав проблем з ним

  • Linux optimization - prelink
  • Linux optimization - prelink
  • Linux optimization - prelink

    так там тільки проблеми самого прелінка + пара дуже рідкісних випадків

  • Linux optimization - prelink

    KDE's loading time can be greatly reduced after prelinking. If you inform KDE that it has been prelinked it will disable the loading of kdeinit (as it is not required anymore) which speeds up KDE even more.

    Set KDE_IS_PRELINKED = 1 in /etc/env.d/*kdepaths* to inform KDE about the prelinking.

  • Linux optimization - prelink
  • Linux optimization - prelink

    А навіщо прапор -f? Адже нам не потрібно при кожному оновленні пов'язувати вже пов'язані програми. Досить зробити це тільки для нових або змінених.

  • Linux optimization - prelink

    2vurdalak, шкоди не буде.

  • Linux optimization - prelink

    З мінусів: одного разу запуск прелінк вбив мені Убунту.

  • Linux optimization - prelink

    glibc-2.13?
    інших варіантів немає
    в 2.13-r1 вже пофіксити

  • Linux optimization - prelink

    Не повіриш, але prelink розвантажив пам'ять моєї свіжовстановленому Генті майже в 2 рази. А я вже матом почав лаятися.

  • Linux optimization - prelink

    Схожі статті