Old:Un kernel UNIX libero: Linux: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 16: Riga 16:
Il kernel amministra le risorse del sistema e, in particolare, al lancio di un processo vede se c'è abbastanza RAM, e se no ne libera un po' (se può, altrimenti usa la swap, e se è finita anche quella dà errore).
Il kernel amministra le risorse del sistema e, in particolare, al lancio di un processo vede se c'è abbastanza RAM, e se no ne libera un po' (se può, altrimenti usa la swap, e se è finita anche quella dà errore).


Quando un processo viene terminato, non c'è necessariamente bisogno di liberare completamente la RAM occupata dal processo, anzi, c'è una certa probabilità che almeno le librerie condivise possano servire ad un altro programma, quindi linux le mantiene in RAM finchè non c'è la reale necessità di quello spazio.
Quando un processo viene terminato, non c'è necessariamente bisogno di liberare completamente la RAM occupata dal processo, anzi, c'è una certa probabilità che almeno le librerie condivise possano servire ad un altro programma, quindi il sistema operativo le mantiene in RAM finché non c'è la reale necessità di quello spazio.


Lo stesso concetto vale per i dati: la probabilità di utilizzare più volte parte degli stessi dati è più alta di quella di usarne sempre di diversi, quindi vengono cancellati dalla RAM solo quando ce n'è bisogno.
Lo stesso concetto vale per i dati: la probabilità di utilizzare più volte parte degli stessi dati è più alta di quella di usarne sempre di diversi, quindi vengono cancellati dalla RAM solo quando ce n'è bisogno.
Riga 22: Riga 22:
Questo significa "mantenere una cache".
Questo significa "mantenere una cache".


Per verificare che funziona, si può provare ad aprire openoffice, per poi chiuderlo, e poi riaprirlo: si noterà che i tempi di apertura la prima e la seconda volta sono molto diversi.
Per verificare che funzioni, si può provare ad aprire Openoffice, per poi chiuderlo, e poi riaprirlo: si noterà che i tempi di apertura la prima e la seconda volta sono molto diversi.


== Gestione dello swap ==
== Gestione dello swap ==
Riga 30: Riga 30:
Per vedere quale valore è impostato basta dare:
Per vedere quale valore è impostato basta dare:


# cat /proc/sys/vm/swappiness
<pre># cat /proc/sys/vm/swappiness</pre>


mentre per impostare un valore basta dare:
mentre per impostare un valore basta dare:


# echo 100 > /proc/sys/vm/swappiness
<pre># echo 100 > /proc/sys/vm/swappiness</pre>


Notare che '''Andrew Morton''' [http://kerneltrap.org/node/3000 consiglia] di impostare la swappiness a 100 per migliorare le prestazionni del sistema. Anche se in alcuni casi particolari questo potrebbe portare ad attese più lunghe nello switching tra grosse applicazioni, si capisce che incrementare l'uso dello swap non significa diminuire le prestazioni ma '''ottimizzare la gestione della memoria'''.
Notare che '''Andrew Morton''' [http://kerneltrap.org/node/3000 consiglia] di impostare la swappiness a 100 per migliorare le prestazioni del sistema. Anche se in alcuni casi particolari questo potrebbe portare ad attese più lunghe nello switching tra grosse applicazioni, si capisce che incrementare l'uso dello swap non significa diminuire le prestazioni ma '''ottimizzare la gestione della memoria'''.


Una soluzione a questi ''corner case'' in cui può esserci un'attesa più lunga del normale nello switching tra grosse applicazioni può essere usare le [[Patch Con Kolivas: incrementare le prestazioni desktop|patch Con Kolivas]]. Queste patch implementano lo ''swap prefetching'', ovvero il precaricamento dello swap non appena si libera della RAM. L'uso della RAM e dello stesso swap '''sembrerà''' aumentato ma le prestazioni interattive miglioreranno.
Una soluzione a questi ''corner case'' in cui può esserci un'attesa più lunga del normale nello switching tra grosse applicazioni può essere usare le [[Patch Con Kolivas: incrementare le prestazioni desktop|patch Con Kolivas]]. Queste patch implementano lo ''swap prefetching'', ovvero il precaricamento dello swap non appena si libera della RAM. L'uso della RAM e dello stesso swap '''sembrerà''' aumentato ma le prestazioni interattive miglioreranno.
6 999

contributi