Next Previous Contents

1. INTRODUZIONE

Questo microhowto e' principalmente inteso come breve guida per quei nuovi utenti che si trovano ad avere, sulla stessa macchina, una versione di un'altro sistema operativo (tipicamente windows) e notano un'efficienza notevolmente minore della loro installazione di linux rispetto alla prima. Ribadisco che tutti i consigli seguenti vanno applicati solo se e' il caso, e se si e' capita la documentazione a corredo dei pacchetti menzionati. Fate solo quello che sapete di poter fare, con calma e metodo, e solo se potete accettarne i rischi.

Innanzi tutto c'e' una cosa da chiarire a priori: la performance velocistica non e' mai stata un obiettivo primario degli originali progettisti di unix, che quindi vede privilegiati altri aspetti (es. razionalita' complessiva, minimalita', stabilita', flessibilita', estensibilita', facilita' di sviluppo); questo non solo e' vero per il kernel e per le utility di base, ma anche per X11, che e' un windowing system di rete, estremamente duttile, e "fattorizzato" rispetto al resto del sistema (non a caso esistono implementazioni di X anche per sistemi operativi che con unix hanno poco a che vedere); insomma X e' molto piu' ambizioso, riguardo la flessibilita' e alla "espressivita'", rispetto alla maggioranza dei windowing systems alternativi; questo si paga con prestazioni in genere minori (nelle applicazioni cosiddette "multimediali" la cosa varra' sopratutto finche' non sara' disponibile DRI). Il fatto che linux risulti in media cosi' efficiente rispetto ad altri sistemi operativi; e' dovuto solo ed unicamente alla preparazione ed alla professionalita' di chi contribuisce. In ogni caso rimane vero che linux sia ottimizzato per l'uso "medio" e non di nicchia, qualunque sia la nicchia a cui vi stiate riferendo.

1.1 TOGLIERE QUEL CHE NON SERVE

Il primo consiglio e' quello di affidarsi, in prima battuta, alla buona vecchia regola che privilegia la minimalita': togliere tutto cio' che non serve. Probabilmente il programma di installazione della vostra distribuzione, che voi siate stati o meno avvisati, vi ha installato molti demoni (servers, processi serventi) attivi fin dal boot che vi saranno inutili; invocate l'installer interattivo dei pacchetti (ad esempio per redhat: gnorpm o glint) e guardate, sopratutto fra i pacchetti di rete, quelli che vi saranno inutili; dopodiche' disinstallateli.

1.2 SOSTITUITE CIO' CHE E' TROPPO POTENTE

Per una macchina locale in genere non servono tutte le funzionalita' di un demone completo; ad esempio, ammesso che vi serva un server http installato, probabilmente apache e' troppo per il vostro caso, o comunque potete configurare il tutto in modo che vi occupi meno risorse. Consultate attentamente la documentazione di quel pacchetto (manpages e sotto /usr/doc ad esempio) per ridimensionarne l'uso. Analogamente l'uso di leafnode/leafnode+ (o facendo una scelta ancora piu' radicale slrn+slrnpull) puo' spesso sostituire inn, al prezzo di capacita' ridotte rispetto ad un server standard, ma adatte al caso di un computer con connessione dial-up. Potreste consultare http://freshmeat.net o http://linuxberg.flashnet.it per trovare sostituti validi.

1.3 DISATTIVARE QUEL CHE VI SERVE SOLO OGNI TANTO

Un altro sistema per recuperare risorse e' quello di lanciare i servizi solo quando vi servono (per le disattivazioni potete usare o un tool se presente (ad esempio ntsysv per redhat) oppure potete editare i files di partenza di init. Potreste lanciarlo via script quando vi serve, o usare inetd (man inetd) per lanciarlo solo quando tentate la connessione (anche locale) al vostro processo servente (per riavviare inetd non serve completare un reboot, basta mandargli un segnale hup: killall -HUP inetd).

1.4 SE AVETE POCA MEMORIA, NON SIATE TROPPO AMBIZIOSI

Se avete 16-32 mega e' altamente improbabile che riusciate ad usare ambienti avanzati come gnome e kde; molto meglio ripiegare su un semplice window manager ben configurato e con qualche utility veramente utile; un vantaggio della modularita' di unix e' che potete rimpiazzare cio' che volete con cio' che preferite senza troppi rimorsi. In merito a quale wm usare, e' difficile dare un consiglio valido per tutti che non sia "provarli tutti"... cito solo quelli piu' di recente concezione (non necessariamente quelli piu' adatti al vostro caso): window maker, icewm, sawmill. In linea generale, personalmente consiglierei di non fissarsi troppo con soluzioni grafiche quando la grafica non e' strettamente necessaria *e* non si hanno risorse sufficienti per farla funzionare decentemente. Imvho un client news grafico vale operativamente ne piu' ne meno di uno testuale come tin o slrn, ad esempio...

1.5 TUNING DELL'HARDWARE

MEMORIA: controllate con free che linux stia vedendo tutta la ram. Se non e' cosi' (chiamata bios un po' "capricciosa"), passate al kernel al boot il parametro mem=ivostrimegabytes. Dovendolo passare al kernel al momento di boot, dovete cercare nel meccanismo di boot che state usando (es. lilo, loadlin) il modo piu' corretto di farlo arrivare al nucleo.

VELOCITA' I/O DISCHI: ci sono concrete possibilita' che il vostro setup di linux non stia sfruttando appieno il vostro disco. In questo caso il comando che vi puo' essere piu' utile e' hdparm. Questa utility varia i parametri del driver ide standard, in modo potenzialmente periocoloso per l'integrita' dei dati; il programma in questione, quindi, dovrebbe essere testato con molta calma e solo dopo aver fatto un backup delle cose piu' importanti. L'invocazione senza opzioni, o con le opzioni -i o -I o -t o -T non dovrebbe comportare rischi (rispettivamente richiesta di informazioni e test di velocita') ma siate comunque cauti. Attenzione all'utilissima opzione -u nel caso abbiate un vecchio chipset ed un vecchio kernel, e fate altrettanta attenzione per le opzioni -X, che va usata normalmente in congiunzione con -p e puo' essere molto pericolosa. Leggete con attenzione assoluta la manpage del comando prima di provarlo; siete stati avvisati. Al di la dei rischi potenziali, hdparm permette talvolta guadagni in velocita' a dir poco sorprendenti, e usando l'opzione -u si puo' alzare di molto la reattivita' del sistema ad eventi come la presenza di dati nella fifo della vostra uart (insomma, della seriale).

IRQ: questa volta il comando che potrebbe interessare e' irqtune, che riordina le priorita' dei vettori irq. In breve, permette, analogamente all'opzione -u di hdparm (che pero' funziona chiaramente solo per riflesso, partendo dall'interrompibilita' dell'i/o dei dischi), di alzare molto la responsivita' del sistema. Ottimo se avete la sensazione che la seriale, durante i collegamenti internet, non sia sfruttata veramente appieno (ed in particolare se avete dei problemi di underrun sulla seriale).

ANCORA LA SERIALE: per quanto possa sembrare assurdo capita ancora che in diverse installazioni la seriale del modem risulti avere una velocita' massima impostata bassa. Questa volta il comando che ci puo' tornare comodo e' setserial (tanto per cambiare: leggete la manpage), che userete per impostare il flag della velocita' a spd_vhi.

VIDEO: non affronto questa complicata questione; segnalo solo che l'aggornamento od il cambio del server, unita ad una attenta lettura della manpage e della documentazione del server su http://www.xfree86.org puo' portare discreti guadagni, specie per quei chipsets che permettono di essere overclockati (ovviamente non e' consigliato farlo, ma puo' essere un modo creativo di fare il funerale alla vostra vecchia scheda)

ESEMPIO: questo e' un pezzo disordinato e non commentato del mio /etc/rc.d/rc.local. non copiatelo direttamente o farete solo dei danni. e' qui solo per chiarire eventuali dubbi sulle invocazioni:


setserial /dev/modem spd_vhi
/sbin/irqtune -f
sync
hdparm -A1 -d1 -c1 -u1 -m16 /dev/hda
hdparm -A1 -d1 -X66 -c1 -u1 -m16 -f /dev/hdb
hdparm -u1 -c1 /dev/hdc
hdparm -u1 -c1 -d1 /dev/hdd

sync serve a sincronizzare i buffers del disco prima di cambiare impostazioni (in effetti sarebbe utile invocare hdparm con l'opzione -f), -f in irqtune non dovrebbe essere necessario nel vostro caso, e hda corrisponde ad un vecchio samsung 6.4, hdb ad un western digital 13.6, hdc ad un cdrom player asus 40x, hdd ad un masterizzatore/riscrivibile creative 2024e. /dev/modem e' un link simbolico che punta alla ttySX corrispondente alla seriale a cui e' collegato il modem.


Next Previous Contents