Bądź: Wyszukaj na stronie z użyciem Google
reklama:

piątek, 19 listopada 2010

Przyspiesz Linuksa! Poprawka jądra i 200 cudownych linijek

Autor: , 21:39, piątek, 19 listopada 2010


Fot: Emilian Robert Vicol
Może i długość nie ma znaczenia, ale szybkość z pewnością. Ubuntu niestety do demonów prędkości nie należy, a przynajmniej w porównaniu do nowego Windowsa (tak, płacą mi). Przyznam, że przez moment nie wiedziałem, czy to Ubuntu z GNOME jest tak wolne, czy może Microsoft rzeczywiście odwalił dobrą robotę w Seven. Po chwili przemyśleń skłaniam się raczej ku temu pierwszemu.

Ostatnio furorę zrobiła informacja o 200 liniach kodu, które w jądrze Linux wprowadzały prawdziwą rewolucję jeśli chodzi o prędkość działania systemu. Jak się okazuje, pole do popisu jest tu jeszcze całkiem spore.

Zanim jednak zabierzecie się za wklejanie poleceń do konsoli i instalowanie paczek, muszę przestrzec przed wykonywaniem instrukcji na roboczych maszynach. Bardzo prawdopodobne, że całość może działać niezbyt stabilnie, a pojawiały się nawet głosy, że poniższe poprawki przynosiły efekt odwrotny do zamierzonego. Czyli standardowo: poprawi się, pogorszy, albo będzie bez zmian.

Na początek najprostsza droga do wprowadzenia magicznych 200 cudownych linijek do naszego systemu, czyli instalacja patchy dla jądra Linux. Jak ktoś słusznie zauważył, nie jest to do końca ta poprawka (CFS Scheduler), lecz BFS Scheduler, która według autora ma przynieść jeszcze lepsze efekty. Poniższe pliki Deb przeznaczone są wyłącznie dla wydania Ubuntu 10.10:

  • Wersja 64-bit: 1 i 2 (oba pliki .deb są wymagane).
  • Wersja 32-bit: 1 i 2 (oba pliki .deb są wymagane).
To teraz coś dla osób, które lubią widzieć co się dzieje. Instrukcja, którą przygotował deweloper RedHata Lennart Poettering wymaga od nas zamiany "/sys/fs" na "/dev", więc musimy dodać kilka komend do pliku /etc/rc.local. Otwieramy go poleceniem:

sudo gedit /etc/rc.local
Następnie nad linią "exit 0" wklejamy:

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

Jeszcze tylko nadajemy mu prawa do uruchamiania:

sudo chmod +x /etc/rc.local
Teraz przechodzimy do edycji pliku ~/.bashrc, więc by go otworzyć:

gedit ~/.bashrc
Wklejamy do niego zawartość:

if [ "$PS1" ] ; then
mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi

Tworzymy teraz ostatni już plik:

sudo gedit /usr/local/sbin/cgroup_clean
Wklejamy do niego:

#!/bin/sh
rmdir /dev/cgroup/cpu/$*

Po czym jemu także nadajemy prawa do uruchamiania:

sudo chmod +x /usr/local/sbin/cgroup_clean
Teraz pozostało już tylko uruchomić ponownie komputer, bądź ręcznie wykonać:

sudo /etc/rc.local
Efekty powinny być widoczne natychmiast. Jedni raportują o szybszym przewijaniu stron w Chrome, a inni o nagłej poprawie stanu zdrowia. A nie, to nie ten tekst.

Tak czy inaczej, jestem ciekawy jakie efekty zaobserwowaliście?

[więcej informacji: webupd8.org, phoronix.com, lkml.org; Patche kerneli - Scott Franke, instrukcja - Lennart Poettering i Ricardo Ferreira]
blog comments powered by Disqus

Prześlij komentarz


Popularne posty

Etykiety