
Tuning mania
Dopo un opportuno collaudo, il nostro PC è pronto per prendere il largo: facciamo andare al massimo hard disk e scheda grafica, quindi ottimizziamo i programmi
(pagina 8 di 11)
Le patch con Kolivas
Fino a poco tempo fa, l'applicazione delle
patch Con Kolivas (CK) al kernel era una
delle tappe obbligate per chi desiderava
migliorare le prestazioni del sistema operativo.
Queste, infatti, lo rendevano più reattivo
grazie all'adozione di uno scheduler alternativo ed apportavano miglioramenti
nell'utilizzo della memoria di swap. Tali
patch, purtroppo, non vengono più sviluppate.
È possibile, però, applicarle ancora
al kernel 2.6.22 (quello di Ubuntu Gutsy).
Vediamo come procedere. Innanzitutto, da
ftp://ftp.it.kernel.org/pub/linux/kernel/
v2.6 scarichiamo i sorgenti del kernel 2.6.22
(linux-2.6.22.tar.bz2). A questo punto, per
prelevare il file delle patch CK entriamo con
il browser in http://www.kernel.org/pub/linux/
kernel/people/ck/patches/2.6/2.6.22,
selezioniamo la directory 2.6.22-ck1 e, infine, scarichiamo il file patch-2.6.22-ck1.bz2.
Apriamo una console e lanciamo “sudo -s”.
Copiamo sia il file patch-2.6.22-ck1.bz2
che linux-2.6.22.tar.bz2 in /usr/src, entriamo
in questa directory e scompattiamo
i sorgenti del kernel (“tar xvfj linux-2.6.22.
tar.bz2”). Una volta scompattato l'archivio
contenente il kernel, entriamo nella directory
contenente i sorgenti con “cd linux-
2.6.22”. A questo punto, applichiamo le
patch: “bzcat ../patch-2.6.22-ck1.bz2 |
patch -p1”. Infine, non rimane che ripercorrere
i passi 2 e 3 del tutorial “Sfida
all'ultimo kernel!” per la compilazione e
ritornare in /usr/src per installare il kernel
“patchato”: “dpkg -i file_kernel.deb”.
Ottimizzare compilando
I programmi distribuiti con le distro vengono
compilati con opzioni generiche. È
possibile, però, ottimizzarli in modo specifico per il nostro PC e ottenere un aumento
delle prestazioni delle applicazioni
stesse. I software che beneficiano più
degli altri della ricompilazione sono quelli
che impiegano intensamente il processore:
fotoritocco, web browser, software di
conversione video e così via. Nel tutorial
“Ottimizziamo dai sorgenti”, scopriamo
come usare apt-build, un software che ci
consente di scaricare i sorgenti, compilarli
ottimizzando gli eseguibili ed installare i
pacchetti risultanti con un solo comando
dalla console! Prima di procedere, però,
assicuriamoci di avere attivi i repository
Ubuntu dei sorgenti; apriamo da root
con un editor il file /etc/apt/sources.list
e controlliamo che tutte le righe inizianti
con “deb-src” siano decommentate: togliamo,
cioè, il carattere # posto all'inizio:
in pratica, “# deb-src” diventerà “debsrc”.
Infine, aggiorniamo la lista dei pacchetti
con “sudo apt-get update”.
Le patch di Andrew Morton
Quelle sperimentali adatte solo ad utenti esperti
Altre note patch per il kernel sono
quelle sviluppate da Andrew Morton,
le cosiddette patch “-mm”. Queste
hanno lo scopo di migliorare le performance
di sistema (fornendo anche
un differente scheduler per l'I/O del
disco), apportando nuove soluzioni e
migliorie rispetto al ramo stabile del
kernel. Si tratta, però, di patch sperimentali
che possono pregiudicare,
in alcuni casi, la stabilità del sistema.
Chi è interessato può trovarle all'indirizzo
www.kernel.org/pub/linux/
kernel/people/akpm/patches/.
Boot al fulmicotone
Console virtuali, servizi di sistema, runlevel... Ecco dove e come intervenire per snellire l'avvio del sistema operativo e ridurre il tempo necessario al suo caricamento
Init è il primo processo eseguito dal
kernel Linux, ed ha il compito di lanciare
quei servizi (il server di stampa,
il gestore dei log di sistema, ecc...) che
devono essere attivati automaticamente
all'avvio del computer. Nelle ultime
versioni di Ubuntu l'init classico è stato
sostituito dal più moderno upstart 1*,
un sistema molto più flessibile ma che
presenta alcune differenze consistenti
rispetto al predecessore. In queste
due pagine vedremo come adattare
alle nostre esigenze il processo di
avvio della macchina, con lo scopo di
ridurre i tempi di boot e usare meno
memoria e CPU.