Newsgroup: it.comp.os.linux.iniziare
Titolo: insultatelo (tuning microhowto)

l'ho scritto tutto di un fiato, ho bisogno che qualcuno, se ne ha
voglia, gli dia una scorsa e segnali tutte le cazzate (ops errori
semantici ;) e gli errori sintattici che sono riuscito a ficcarci, e
se se la sente contribuire qualche pezzo che mi sia dimenticato.
(sono stravolto dalla stanchezza, abbiate pieta' ma oggi faccio
abbondantemente a pugni con l'italiano e lui sta vincendo.... non so
neanche cosa sto scrivendo... insomma il giorno ideale per mettersi a
scrivere qualcosa ;)
BREVE GUIDA ALLA MESSA A PUNTO DI UNA INSTALLAZIONE LINUX CASALINGA
Questo microhowto ha come obiettivo il suggerire una breve serie di
tips per ottimizzare le prestazioni di una linux box casalinga. ha una
limitata, utilita' in caso di installazioni "server". Tutti i consigli
qui elencati sono forniti a patto che sia chiaro che non mi prendo
responsabilita' per eventuali malfunzionamenti, limitazioni di
funzionalita', danni o qualunque altro tipo di problema possa sorgere
in conseguenza dell'applicazione degli stessi, o dall'uso delle
risorse a cui questo testo fa riferimento.
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. 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.
3. 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.
2. 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).
3. 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...
4. 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=ivostrimegabytesM. 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 diversa installazioni la seriale del modem risulti avere una
velocita' massima impostata bassa. Questa volta il comando che ci puo'
tornar 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.
Correzioni e contributi (*non* domande) a gz (at) freeweb (dot) it .
ciao da gabriele (che per deprimersi ancora un po' ascolta we haven't
turned around dei gomez...).
-- 
http://www.freeweb.org/personali/gz/l/
 +
X/faq : X window system faq (ita) u/cpd.txt : come fare domande su icol
GPG Key fingerprint = 6006 4D69 0DB5 A3AC A6E6 F212 5FD8 2D6A 118A CD82
.

 ESEMPIO:
va bene.....
Mi mancavano un po di informazioni....mi sembra che ci sia un buco tra il
punto 3 e il 4....è anche vero che non deve essere una guida
all'installazione dei pacchetti (che magari si potrebbe fare.........inteso
come linux per funzionare ha bisognio ASSOLUTAMENTE di questi...il resto
metteteci quello che volete......heheheheh)magari un consiglio sulle
partizioni  e dimensioni swap e poi credo che ci sia tutto.
ciao e grazie dello sforzo per aiutare gli imbranati come me.

che userete per impostare il flag della velocita' a spd_vhi.
Sicuro  che si  possa fare?  Non vorrei  sbagliarmi ma  per le  versioni
recenti  del kernel  e' un'operazione  non troppo  gradita (se  non erro
appare un  messaggio del kernel  del tipo  "deprecated" o giu'  di li').
Vabbeh ho capito, vado a nanna (che non mi ricordo piu' nulla) :)
Ciao
Ale
-- 
Per ottenere il mio indirizzo e-mail sostituire a NOSPAM il mio cognome

e se se la sente contribuire qualche pezzo che mi sia dimenticato.
Grande! Complimenti: imho è  veramente un ottimo  microhowto: finalmente
avremo qualcosa da indicare ai newbie che si lamentano della lentezza di
Linux :))
Ad  ogni modo  perché non  aggiungi  una piccola  nota sul  fatto che  è
possibile velocizzare programmi che richiedono pesantemente la CPU (come
player mp3,  compressori, ecc.  ecc.) scaricando versioni  compilate per
i586  (o per  la  propria CPU)  o,  al limite,  scaricando  il tar.gz  e
ricompilandolo a manina?
Poi un  altro piccolo  consiglio è  quello di  compilarsi un  kernel "su
misura"... per il resto l'ho trovato un ottimo documento.
byez!
-- 
Vanni Brutto                                      .--.
| email 
asy...@nofesso.tiscalinet.it
 |           |o_o |
| irc nick VanniB   |   ICQ 18526701 |           |:_/ |
--- rimuovi nofesso per rispondere ---          //   \ \
                                               (|     | )
      Non esistono domande stupide            /'\_   _/`\
(però esistono stupidi che fanno domande)     \___)=(___/

 se se la sente contribuire qualche pezzo che mi sia dimenticato.
.....
Bravo! Io comunque lo farei diventare un howto serio, senza il "micro".
Basterebbe qualche esempio in più, qualche dritta un po' più specifica e
sarebbe perfetto.
Facci sognare......
Ciao.
-- 
*** Per E-mail rimuovi ModE dall'indirizzo ***
             *** ICQ 33500725 ***
           *** Powered by Linux ***

 Sicuro  che si  possa fare?  Non vorrei  sbagliarmi ma  per le  versioni
e' un errore, segnalato danche da davide (alberani) insieme a varie
altre osservazioni. ringrazio tutti per le parole di apprezzamento e
di incoraggiamento ed ovviamente per le osservazioni ed i
consigli. due cose e' difficile che possa fare: trasformarlo in un
howto vero (mancanza di tempo :( ) e inserire la lista dei pacchetti
necessari (stesso motivo, piu' difficolta' intrinseche). per il resto,
dovrei poter correggere gli errori, tempo a disposizione permettendo.
ho ricevuto anche una mail che non ho ancora aperto, il feedback e'
stato piu' rapido e massivo del previsto ;)
ho anche notato che alcuni servers sono risultati "floodati" da piu'
copie dello stesso messaggio originale mio... non ho idea di come
possa essere successo, forse e' colpa del passaggio da leafnode a lfn+
e ritorno... scusatemi.
ancora grazie a tutti di tutto.
ciao, gabriele.


 ok...ma vale anche per l'irq del cdrom???o di altra periferica?
direi di si', credo (*credo*) che in realta' sia il chipset a generare
gli irq necessari, quindi... comunque nel mio caso funziona
regolarmente (vedi l'esempio), come altre caratteristiche "avanzate",
e hanno fatto la differenza fra una connessione inusabile durante la
masterizzazione, ed una discretamente sfruttabile.
ciao, gabriele.


 Vabbeh ho capito, vado a nanna (che non mi ricordo piu' nulla) :)
un dubbio, che distribuzione hai? il messaggio e' questo?:
                case TIOCSERSWILD:
                        /* "setserial -W" is called in Debian boot */
                        printk ("TIOCSER?WILD ioctl obsolete,
ignored.\n");
                        return 0;
dal man:
-W     Do wild interrupt initialization and exit.  This option
is no longer relevant in Linux kernels after version 2.1.
io sulla rh 6.1 e kernel tree standard .14 non lo vedo, almeno
credo...
ciao, gabriele.


 scrivere qualcosa ;)
 non è  male, il  punto 2  e 3  sono invertiti.  Mi sorge  spontanea una
 domanda:  a  cosa  serve?  Non  vorrai  postare  anche  questo  assieme
 all'altro messaggio?

credo...
Ho la rh 6.1 pure io. In questi giorni ho provato in tutti i modi a far
apparire il messaggio del kernel ma niente da fare. Finche' non ho fatto
partire minicom:
-------------------------------[ taglia ]-------------------------------
Feb 15 00:04:05 localhost kernel: Use of setserial/setrocket to set
SPD_* flags is deprecated
-------------------------------[ taglia ]-------------------------------


  all'altro messaggio?
direi di NO visto che l'ho redatto separatamente. semplicemente
dovrebbe finire sul mio sito ed eventualmente su quello di chi vorra'
hostarlo. niente posting periodico per questo, tranquillo. in ogni
caso vorrei far notare che a meno di errori sto postando una versione
"solo url" dell'infame documento a cui ti riferisci, e quello intero
solo di domenica... insomma NON sto postando nessun documento che
superi le 50 righe quotidianamente. quello da 220 righe circa lo posto
solo di domenica *e* sono disposto (ovviamente) a togliere di mezzo
l'uno, l'altro o entrambi a richiesta anche di una sola persona.
saluti spammanti ;), gabriele.


 -------------------------------[ taglia ]-------------------------------
ok, allora e' -W che da fastidio, non tutto setserial. meglio ;)
ciao, gabriele.


 PS: sul mio sito c'era' un microhowto simile, con lo stesso nome :/
non lo sapevo senno' non mi sarei imbarcato nell'impresa. saresti
disposto a depredare il "mio" howto per rimpinzare il tuo (cosi' ti
passo tutto il pacchetto di correzioni varie? ;)
fammi sapere
ciao, gabriele.


passo tutto il pacchetto di correzioni varie? ;)
Perche' non vedere di unire i due? Il tuo va gia' bene, tranne quella
parte. E poi il mio era molto piu' corposo (prevede anche una lunga
sezione su X compresa una traduzione rapida dell'Timing-modes-HowTo)...
Facciamo una cosa, passami le correzioni, poi ti rimando l'unione a
occhio fra i due, la mia e-mail sta in sign.
-- 
The Hitman - 
http://members.xoom.it/hitman/
e-posta: 
rsal...@studenti.unina.it
 - Fan #2 di Mexico '86 
Anima gemellata di Arianna aka Jordie / Druido della BUBBLE
"I'm so tired of playing / playing with this bow and arrow     
 Gonna give my heart away / Leave it to the other girl to play"