|
|
Alcuni vi diranno di allocare uno spazio di swap corrispondente
al doppio della vostra memoria fisica, ma è una regola approssimativa.
Ecco come fare in modo corretto:
Stimate di quanta memoria avete bisogno: calcolate la quantità
più alta di memoria di cui avrete mai bisogno in una volta sola, cioè
la somma del fabbisogno di tutti i programmi che volete far
girare contemporaneamente: lo potete fare facendoli girare tutti
insieme. Ad esempio, se volete usare X dovreste allocargli circa 8 MB,
gcc vuole qualche megabyte (alcuni file hanno bisogno di moltissima
memoria, fino a decine di megabyte, ma di solito quattro bastano) e
così via. Il kernel userà per sé circa un megabyte, le normali shell
ed altri
programmi qualche centinaia di kilobyte (diciamo un
megabyte tutti insieme). Non c'è bisogno di tentare di essere esatti,
basta una stima rozza, magari per eccesso. Ricordatevi che se ci sono diverse persone che usano il sistema
in contemporanea consumeranno tutti della memoria; comunque, se due
persone usano lo stesso programma contemporaneamente l'utilizzo complessivo
di memoria non è di solito doppio, dato che le pagine di codice e le
librerie condivise vengono usate solo una volta. Per stimare le necessità di memoria sono utili i comandi
free e ps.
Aggiungete per sicurezza un po' di memoria alla stima del passo
1: la dimensione di alcuni programmi sarà sbagliata, o forse vi
dimenticherete alcuni programmi che volete usare ed è meglio avere un
po' di spazio extra per qualsiasi evenienza. Un paio di megabyte
dovrebbero andare bene (è meglio allocare troppo spazio di swap che
troppo poco, ma non c'è bisogno di strafare e allocare l'intero disco,
dato che lo spazio di swap inutilizzato è sprecato; vedi sopra
come fare per aggiungere altro spazio). Inoltre, dato che si lavora
meglio con le cifre tonde, arrotondate il valore al megabyte superiore.
Basandovi sul calcolo qui sopra sapete di quanta memoria avete
bisogno in totale. Per allocare lo spazio di swap dovete dunque
sottrarre la dimensione della memoria fisica dalla memoria totale
(in alcune versioni di
UNIX dovete allocare dello spazio di swap anche per un'immagine della
memoria fisica, quindi il totale calcolato nel passo 2 è lo swap
necessario e non dovete fare la sottrazione). Se lo spazio di swap calcolato è molto più grande della memoria
fisica (più del doppio) dovreste investire in più memoria fisica,
o le prestazioni saranno troppo basse.
È una buona idea avere comunque dello spazio di swap, anche se
i calcoli indicano che non ne avete bisogno; Linux lo usa
in modo piuttosto aggressivo, in modo che possa essere tenuta
libera più memoria fisica possibile, e manderà in swap delle
pagine di memoria che non vengono usate anche se non c'è ancora bisogno
di memoria per altre cose. Un comportamento del genere evita di
aspettare di fare swap nel momento in cui ce n'è bisogno---si può fare
prima, quando il disco altrimenti non sta lavorando.
Lo spazio di swap può essere suddiviso tra vari dischi, in modo
da poter in qualche modo migliorare le prestazioni, a seconda delle loro
velocità e degli schemi di accesso. Potete fare degli
esperimenti con schemi diversi,
ma farlo in modo corretto non è semplice. Non credete a
chi dice che uno schema è sicuramente superiore ad un altro, perché
non sempre è vero.
|