Come accennato nell'introduzione, i laptop hanno talvolta meno risorse rispetto ai desktop. Ho quindi scritto questo capitolo, su come confrontarsi con limitazioni di spazio, memoria, velocità della CPU e durata delle batterie.
Ci sono tipi differenti di tecniche per recuperare spazio disco, come la condivisione di spazio, il recupero di spazio inutilizzato o ridondante, affinamento e compressione del filesystem. Nota: alcune di queste tecniche usano la memoria al posto dello spazio. Come si vedrà, sono necessari molti piccoli passi per liberare un po' di spazio.
man strip
. Per rintracciare tutti i file non strippati
si può usare il comando file
o, più convenientemente,
l'utilità findstrip
. Attenzione: non usate strip sulle librerie,
talvolta si eliminano i simboli sbagliati a causa di cattive tecniche di
programmazione. Oppure si usi l'opzione --strip-unneeded
.zum(1)
legge una lista di file sullo stdin e tenta di
perforare questi file. Perforazione significa che serie di byte vuoti sono
rimpiazzati da lseek
, dando così al file system la possibilità di
non allocare spazio disco reale per tali byte. Esempio: find . -type f |
xargs zum
patch
. Per scovare i duplicati, si può
provare finddup
. Scegliete un sistema per dare un nome ai vostri
backup, file temporanei e di test, per es. con una sigla alla fine.
tmpwatch
.
binstats
per scovare le librerie inutilizzate (grazie a Tom Ed White).
rsfs
. Mettete a punto il filesystem, per es. con
tune2fs
. Scegliete un'appropriata dimensione delle partizioni e
dei blocchi. bzImage
compressa del
kernel. gzip
e decomprimerlo
al volo. In alternativa, è possibile scegliere di comprimere solo
determinati file. I file compressi possono essere perfino eseguiti con
zexec
- Per i filesystem e2fs, è disponibile la versione compressa
e2compr
, si veda
http://debs.fuller.edu/e2compr/.
- DMSDOS, che permette alla vostra macchina di accedere ai drive compressi di Windows95 (drivespace, doublestacker). L'autore stesso del programma lo sconsiglia quando la compatibilità con DOS/Windows95 non sia necessaria, quando desiderate cioé comprimere solo i dati Linux. Si veda http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/.
mount
). Per il montaggio di dispositivi compressi sotto
MS-DOS Windows95 (doublespace, drivespace) si può usare dmsdos
http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/.libc5
, che sembra più ridotta rispetto a libc6
, alias
glibc2
.
Si usi l'utilità hdparm
per incrementare le prestazioni del
disco rigido. Per quanto abbia visto dei dischi di laptop abilitati per lo
striping, non vedo alcuna ragione per farlo, perché secondo la
mia opinione lo striping con RAID0 necessita almeno di due dischi differenti
per incrementare le prestazioni.
Si veda UNIX and LINUX Computing Journal: Tunable Filesystem Parameters in /proc su come incrementare, ridurre e riconfigurare i parametri del filesystem all'interno di /proc.
Verificate l'utilizzo della memoria con free
e top
.
Progetto Mergemem. Molti programmi contengono aree di memoria con lo stesso
contenuto che non vengono rilevate dal sistema operativo. Tipicamente,
queste aree contengono dati che sono stati generati all'avvio e che rimangono
immutati per lunghi periodi. Con mergemem
tali aree vengono rilevate
e condivise. La condivisione è attuata a livello del sistema operativo e resta
invisibile ai programmi a livello utente. mergemem
è particolarmente
utile se si lanciano svariate istanze di interpreti ed emulatori (come Java
o Prolog) che mantengono il proprio codice in aree di dati private; ma anche
altri programmi possono trarne un, seppure minore, vantaggio.
Si può anche, fino a un certo punto, ridurre le dimensioni del kernel rimuovendo tutte le funzionalità non necessarie per le proprie esigenze e modularizzando il kernel fin dove possibile.
Si può anche arrestare ogni servizio o demone non necessario, per
es. lpd
, mountd
, nfsd
e chiudere alcune console
virtuali. Fate riferimento allo Small-Memory-mini-HOWTO per dettagli.
E ovviamente usate lo spazio di swap, quando possibile.
Se possibile, usate le risorse di un'altra macchina, per esempio con X, VNC
o perfino telnet
. Per maggiori informazioni sul Virtual Network
Computing (VNC), si veda
http://http://www.uk.research.att.com/vnc/.
Potreste volere incrementare la velocità della CPU; non ne ho esperienza ma sappiate che ciò potrebbe danneggiare l'hardware. Per alcuni esempi date un'occhiata all'Adorable Toshiba Libretto - Overclocking http://www.cerfnet.com/~adorable/libretto.html.
ls -lu
restituisce il tempo di accesso?). Perciò,
potete disabilitarlo senza rischi, impedendo quindi l'accesso al disco ogni
volta che si fa il
cat
di un file. Segue un esempio di /etc/fstab
con questa opzione di risparmio energetico:
/dev/hda7 /var ext2 defaults,noatime 0 2
update
; mobile-update
minimizza il numero di
ripartenze del disco e ne riduce gli il tempo di attività. Svuota i
buffer solo se è presente un'altra attività del disco. Per essere sicuri
della correttezza del file system invocate manualmente sync
,
altrimenti dei file potrebbero andare perduti in caso di mancanza di
energia. mobile-update
non usa APM, per cui funziona anche su
sistemi più datati.
noflushd
vigila sull'attività del disco e ferma quei dischi che
risultino inattivi per più di <timeout> secondi. Richiede un kernel
>=2.2.11 . Utile in combinazione con hdparm
e mount
con l'opzione noatime per ridurre l'attività del disco.
Molte funzionalità del kernel sono legate ai laptop. Per esempio APM, IrDA, PCMCIA e alcune opzioni per determinati laptop, per es. i ThinkPad IBM. In alcune distribuzioni non sono configurate e il kernel è solitamente più voluminoso del necessario. Personalizzare il kernel sembra quindi una buona idea. Per quanto questo compito sembri difficoltoso per i principianti, è tuttavia caldamente raccomandato. Dato che ciò comporta operazioni rischiose, è necessario comunque essere cauti. Ciononostante, se riuscirete ad installare correttamente un kernel ottimizzato vi meriterete la spilletta di amministratore Linux di livello intermedio. - Dato che questo argomento viene già trattato in altri documenti, non ne parlerò qui.
Una raccolta ancora limitata, ma sto cercando ulteriori informazioni
boa
è un server HTTP single-task. Ciò significa che, diversamente dai web
server tradizionali, non effettua un fork per ogni connessione in arrivo e
neppure esegue il fork di copie multiple di se stesso per gestire connessioni
multiple. Al suo interno esso effettua il multiplexing di tutte le connessioni
HTTP in corso, facendo il fork solo dei programmi CGI (che devono essere
processi separati). Test preliminari mostrano come boa sia capace di gestire
svariate centinaia di contatti al secondo su un Pentium a 100 MHz."
Alan Cox nel LINUX REDUX del febbraio 1998 " .. ce ne sono due che gestiscono le normali applicazioni molto elegantemente. LBX (Low Bandwidth X) è l'applicazione ufficiale dell'X Consortium (adesso OpenGroup www.opengroup.org). Dxpc http://ccwf.cc.utexas.edu/~zvonler/dxpc è l'alternativa preferita da molte persone. Questi sistemi agiscono come server proxy X11 e comprimono i flussi di dati ben oltre il 50 percento per le richieste normali, raggiungendo spesso una riduzione fino al 25 percento dell'originale utilizzo dell'ampiezza di banda. Con dxpc, le applicazioni X windows sono ragionevolmente utilizzabili attraverso un collegamento con modem 28.8 oppure Internet."
fdisk
e mkfs.ext2
per consentire l'installazione
sul disco rigido. Utile per l'avvio su vecchie macchine con meno di 4MB di RAM.
screen
- gestore di console piccolo ma potente. John M. Fisk
<fiskjm@ctrvax.vanderbilt.edu> nella LINUX GAZETTE del 1 luglio 1996
:"It's a GUI, GUI, GUI, GUI world! " -- o almeno, questo è quello
che i maggiori produttori di SO vorrebbero farci credere. Sebbene sia questa
la tendenza in atto, la verità è che ci sono occasioni in cui
l'interfaccia a riga di comando (CLI) rimane un'ottima scelta per portare
a compimento certe cose. È veloce, generalmente efficiente e rappresenta
una buona scelta su macchine con CPU o memoria limitate. E non scordatevi
che ci sono ancora un sacco di cose ingegnose che si possono fare alla
console."
Potreste prendere in considerazione l'opzione di aggiornare l'hardware stesso; per quanto ciò possa comportare alcune controindicazioni, fate riferimento al capitolo Aprire il case di un laptop, sopra. Per una valutazione sulle possibilità di riuscita, potete dare un'occhiata a http://www.upgrade.de, pagina disponibile anche in francese ed in inglese.