21 ноября 2015 г.

Preload или ureadahead - вот в чем вопрос!



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


     Можно, конечно, спорить и дискутировать по поводу действий, которые производит утилита preload в файловой системе. Считать ли этот процесс дефрагментацией или же нет, но суть от этого не меняется.

      Меня заинтересовало, почему же, несмотря на многочисленные рекомендации по установке preload в дистрибутив Ubuntu для ускорения загрузки, этого так и не происходит.

И вот, что я обнаружил…

По сути, все рекомендации сводятся к установке:

sudo apt-get install preload


      Реже встречается комбинация иная:

sudo apt-get install preload

sudo touch /var/lib/preload/preload.state

sudo chmod 644 /var/lib/preload/preload.state

/etc/init.d/preload restart


     Разобраться во всех этих нюансах достаточно сложно, мне не по зубам.


      И совершенно неожиданно для себя, узнаю о том, что в составе дистрибутива Ubuntu имеется в наличии «из коробки», утилита аналогичного предназначения под названием ureadahead. Для того, чтобы её задействовать - достаточно добавить утилиту ureadahead в автозагрузку. 

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