NFsec Logo

Preload – przyśpieszanie aplikacji

06/04/2008 w Administracja Brak komentarzy.  (artykuł nr 46, ilość słów: 483)

P

reload jest „adaptacyjnym demonem, który wczytuje programy z wyprzedzeniem”. Choć jego idea powstała kilka lat temu – działaniem porównywalny jest on z programem SuperFetch z systemu Vista. Poprzez działanie w tle obserwuje, które programy w systemie są najczęściej uruchamiane wprowadzając je do swojej pamięci cache. Po nauczeniu się programów umożliwia wczytanie ich do pamięci z wyprzedzeniem, co umożliwia szybsze ich uruchomienie. W ten sposób preload umożliwia wykorzystanie nieużywanej pamięci RAM oraz poprawę wydajności naszego systemu.

W zależności od rodzaju aplikacji oraz wydajności naszej maszyny możemy uzyskać od 23 do 55% przyśpieszenia dla uruchomienia jednego programu. Instalacja programu w systemie Slackware jest bardzo prosta choć poprzedzona jest kilkoma zabiegami kosmetycznymi – na początku zmuszeni jesteśmy zainstalować moduł Perl Locale::gettext, który umożliwi nam instalację prostego programu generującego strony manualne ze strumienia wyjściowego programów – help2man. Z kolei help2man umożliwi nam bezproblemową instalację preload oraz wygenerowanie do niego odpowiedniej dokumentacji:

tar -xzvf gettext-1.05.tar.gz
cd gettext-1.05/
perl Makefile.PL
make
make install
tar -xzvf help2man-1.36.4.tar.gz
cd help2man-1.36.4/
./configure --prefix=/usr
make
make install
tar -xzvf preload-0.4.tar.gz
cd preload-0.4/
./configure --sysconfdir=/etc –localstatedir=/var --sbindir=/sbin \
--bindir=/bin --libdir=/usr/lib
make
make install
mkdir -p /var/lock/subsys/
touch /var/lock/subsys/preload

Preload wspiera system init w stylu System V, dlatego jego zarządza zostanie skopiowany do katalogu /etc/init.d/. Proces zbierania informacji o systemie przez preload należy rozpocząć od jego pierwszego uruchomienia. Przed tym faktem, należy przyjrzeć się plikowi konfiguracyjnemu /etc/preload.conf. Głównie należy zwrócić uwagę na zmienne mapprefix oraz exeprefix, które definiują ścieżki dostępowe bibliotek oraz plików wykonalnych mają zostać uwzględnione, ale także pominięte w procesie zbierania informacji przez preload. Należy wspomnieć, że narzędzie to głównie adresowane jest dla użytkowników posiadających stały zestaw już sprawdzonych programów, ponieważ z każdą zmianą poczynioną w systemie proces nauki będzie się powtarzał. Pierwsze uruchomienie wykonujemy poprzez:

/etc/rc.d/init.d/preload start

W zależności od zmiennej cycle program zacznie, co określony czas wykonywać cykl zbierania informacji. W tym czasie należy uruchomić wszystkie nasze programy, których uruchomienie chcemy przyśpieszyć, a z których korzystamy najczęściej. Postępy programu możemy śledzić poprzez monitorowanie pliku logu programu:

tail -f /var/log/preload.log

Możemy także uruchomić program z flagą -V, by uzyskać podobny efekt. W ten sposób dowiemy się jak wiele pamięci zarezerwował sobie preload, oraz ile aktualnie plików i bibliotek obserwuje. Jeśli chcemy zdobyć bardziej szczegółowe informacje na temat konkretnych plików jakie są ładowane do pamięci cache programu, możemy spojrzeć na plik:

less /var/lib/preload/preload.state

Efekty pracy programu będziemy mogli odczuć przy ponownym uruchomieniu systemu, razem z załadowanym demonem preload. Oczywiście nie należy spodziewać się drastycznych zmian w osiągach wydajności. Wszystko zależy w jaki sposób skonfigurujemy program oraz jego podejście do naszej pamięci komputera. Aktualnie maszyny posiadają 1 GB RAM w standardzie, także nieużywane zasoby RAM mogą zostać spokojnie spożytkowane na poprawę wydajności systemu. Należy zadbać o startowanie programu wraz z systemem oraz jego zatrzymanie wraz z zamykaniem. W tym celu wystarczy dodać odpowiednie wpisy do plików rc.local oraz rc.6. Nie należy zapomnieć też o cyklicznym archiwizowaniu lub czyszczeniu pliku z logami.

Więcej informacji: preload, gettext, help2man

Kategorie K a t e g o r i e : Administracja

Tagi T a g i : , , , , ,

Komentowanie tego wpisu jest zablokowane.