Z biegiem czasu zasoby naszego komputera się kurczą, a aplikacje uruchamiają się coraz dłużej. Włączenie przeglądarki internetowej trwa tak długo, że możemy spokojnie iść zaparzyć kawę. Codziennie korzystamy praktycznie z tych samych aplikacji. Rano uruchamiamy klienta poczty, aby odebrać świeżą porcję maili, a przez cały dzień surfujemy w sieci. Skoro te czynności wykonujemy regularnie, to czy nie możemy zmusić systemu, aby był przygotowany do uruchomienia na przykład Firefoksa? Oczywiście, że możemy. Pomogą nam w tym aplikacje Preload oraz Prelink. Na zachętę powiem, że część aplikacji udało mi się przyspieszyć o ponad 50%! Zmiany jakie wprowadziły obie aplikacje są zauważalne.
Preload został napisany przez Behdada Esfahboda. Działa w systemie jako demon i zbiera statystyki na temat wykorzystywania aplikacji. Korzysta on z procesu Markowa. Zapisuje jakie pliki oraz aplikacje są najczęściej wykorzystywane a w wolnym czasie ładuje je do pamięci komputera, dzięki czemu ich ładowanie jest znacznie szybsze. Ponieważ część danych jest już w pamięci, aplikacja uruchamia się zdecydowanie szybciej. Mniej danych jest ładowana z dysku. Preload jest bardzo często wykorzystywany wraz z aplikacją Prelink.
Preload dostępny jest do pobrania ze strony preload.sourceforge.net. Dostępny jest również w postaci pakietów binarnych w popularnych dystrybucjach Linuksa. W Ubuntu wystarczy wydać polecenie:
sudo apt-get install preload
Uruchomienie aplikacji polega na wydaniu polecenia:
/etc/init.d/preload start
Konfiguracja demona znajduje się w pliku /etc/preload.conf i zawiera domyślne ustawienia, które powinny być dla nas odpowiednie. Niestety domyślnie ustawienia preloada nie uwzględniają nam aplikacji, które są zainstalowane w katalogu /opt dlatego powinno się je dopisać w pliku konfiguracyjnym do pozycji mapprefix oraz exeprefix. W opcji cycle ustalamy jak często preload ma odpytywać system, aby uaktualnić swój model aplikacji oraz bibliotek do zcachowania.
Demon na szczęście nie zabiera dużo pamięci. Na komputerze wyposażonym w 1,5 GB RAMu, zajął tylko 96620 kb. Działanie programu można oglądać przeglądając logi:
root@hell:/home/paszczak000# tail -f /var/log/preload.log
[Sun Jul 6 16:02:45 2008] 86250kb available for preloading, using 360kb of it
[Sun Jul 6 16:02:45 2008] readaheading 9 files
[Sun Jul 6 16:03:05 2008] 86250kb available for preloading, using 360kb of it
[Sun Jul 6 16:03:05 2008] readaheading 9 files
[Sun Jul 6 16:03:26 2008] 86250kb available for preloading, using 360kb of it
[Sun Jul 6 16:03:26 2008] readaheading 9 files
[Sun Jul 6 16:03:46 2008] 86250kb available for preloading, using 360kb of it
[Sun Jul 6 16:03:46 2008] readaheading 9 files
[Sun Jul 6 16:04:07 2008] 86250kb available for preloading, using 552kb of it
[Sun Jul 6 16:04:07 2008] readaheading 11 files
Natomiast w pliku /var/lib/preload/preload.state możemy obejrzeć jakie pliki zostały zcachowane przez preload.
PRELOAD 0.4 1120
MAP 131 10 0 950272 -1 file:///usr/lib/libstdc++.so.6.0.9
MAP 491 10 0 4096 -1 file:///usr/share/kadu/modules/translations/window_notify_pl.qm
MAP 650 10 0 401408 -1 file:///usr/lib/libeel-2.so.2.22.2
MAP 803 10 0 73728 -1 file:///usr/share/fonts/type1/gsfonts/n019004l.pfb
MAP 197 10 4096 4096 -1 file:///usr/lib/libscim-x11utils-1.0.so.8.2.3
Preload w znaczy sposób potrafi przyspieszyć start, niektórych aplikacji. Niestety nim zobaczymy jakieś efekty musi minąć troszkę czasu, aby demon nauczył się jakie programy oraz biblioteki powinien cachować w pamięci.