PDA

View Full Version : [idea balorda] uso invertito della ram come disco fisso: possibile?


wireless
22-11-2006, 15:31
carissimi,
dato che ho ben due giga di ram sul portatile (il cui disco non brilla, ovviamente) e dato che non ho per ora mai superato il mezzo giga di ram, pure con kde e diversi finestre aperte (merito di gentoo?), volevo chiedervi se era possibile, conveniente ed eventualmente come far si che linux carichi in ram tutta una serie di librerie o simili (no so, magari la cartella /proc con le info sui processi, o almeno per parte di essi), invece di tenerli su disco, fino ad un massimo da me prefissato e solo in caso di necessità swappi su disco tutta sta roba (magari non tutta insieme, ma usando spero degli intervalli o finestre del tipo " se rimani con 100 mega di ram, comincia a rimettere su disco qualcosa che nn serve di quelle che avevi caricato prima...).
Cioè in pratica mi domando: essendo in linux tutto descritto come un file etc, non gli si può dire di caricare in ram parti intere del sistema (magari parti in genere usate per sola lettura e quindi non c'è il rischio di danni se va via la corrente e non c'è stato il flush degli aggiornamenti su disco...)...insomma invece di usare il disco rigido per lo swap, usare la ram come disco rigido per materiale di sola lettura?
Sperando che mi sono spiegato....
....Che dite?

wireless
22-11-2006, 15:40
al volo, ho trovato questo:
http://kerneltrap.org/node/3660
in cui la ram viene utilizzata come swap, da quello che ho capito (anche se non mi è chiaro l'articolo che ho letto al volo, ma immagino che il vantaggio si ha solo se linux in ogni caso usa un po' di swap anche se la ram è vuota o quasi...)
Non c'è un opzione nel kernel tipo:
[ ]Extreme Ram use (don't use swap until x% RAM results full)

:)

wireless
22-11-2006, 15:54
vaiiiii col thread da solo!
leggendo qua e la su kernel trap, pare la questione sia affrontata, nel senso che alcuni hanno fatto test eliminando lo swap in quanto dotati (!) di grandi quantità di memoria. I risultati non sono stati ottimi, in quanto il gestore della memoria tratta diversamente (ovviamente) ram e swap, cioè lascia nello swap anche cose "usate" ma non troppo, che invece non lascierebbe in ram (cioè, usa politiche un po' diverse).
A parte quest'idea ancora discussa, altre relative al "caricare porzioni di file system e relativi file in sola lettura in ram?"

dobro
22-11-2006, 15:57
http://wiki.gentoo-italia.net/index.php/Come_volare_con_gentoo

:eek:

Maestro
22-11-2006, 16:05
/proc è un fs virtuale, non usa spazio su hard disk.

Per evitare di far usare swap ci sono due soluzioni in linea di massima: non montare la partizione di swap, oppure montarla (è sempre utile per evitare out of memory) e settare la sysctl "swappiness" con una priorità bassa ma maggiore di 0.

Questo per la modifica temporanea:

sysctl -w vm.swappiness=10


E questo dentro il file /etc/sysctl.conf, per la modifica permanente:

vm.swappiness=10


Puoi usare parte della RAM come se fosse una partizione di un hard disk; il vantaggio è che è molto più veloce dell'hard disk, ma ovviamente come saprai i dati contenuti saranno persi allo shutdown.

Per fare questo basta usare i ramdisks, usando il filesystem "ramfs".
Usando "tmpfs" invece di "ramfs", se la RAM fosse finita, passerebbe allo swap.

Ciao

wireless
22-11-2006, 16:12
anche questo non male, bisognerebbe riadattarlo per chi vuole caricare in ram solo alcune cartelle e non tutto / , inoltre sto piangendo perchè mi manchi il punto 0, cioè partizioni!
http://forums.gentoo.org/viewtopic-t-297692-highlight-ram.html

wireless
22-11-2006, 16:17
/proc è un fs virtuale, non usa spazio su hard disk.

Per evitare di far usare swap ci sono due soluzioni in linea di massima: non montare la partizione di swap, oppure montarla (è sempre utile per evitare out of memory) e settare la sysctl "swappiness" con una priorità bassa ma maggiore di 0.

Questo per la modifica temporanea:

sysctl -w vm.swappiness=10


E questo dentro il file /etc/sysctl.conf, per la modifica permanente:

vm.swappiness=10


Puoi usare parte della RAM come se fosse una partizione di un hard disk; il vantaggio è che è molto più veloce dell'hard disk, ma ovviamente come saprai i dati contenuti saranno persi allo shutdown.

Per fare questo basta usare i ramdisks, usando il filesystem "ramfs".
Usando "tmpfs" invece di "ramfs", se la RAM fosse finita, passerebbe allo swap.

Ciao

grazie per lo swappiness, lo avevo visto, farò delle prove.
Per le ramdisks potresti dirci di più, mi pare molto pratico e semplice rispetto ai mille passaggi del mio precedente link.
Il mio bisogno è: copiare /usr/lib e /lib in ram e dire al sistema di usare quelle
(domanda: nel mentre che copia in qualche modo o con link, ad ogni avvio, le cartelle in ram, deve usare quelle "normali"? Quindi c'è un tempo di copia iniziale ad ogni avvio che aumenta il boot...l'ottimo sarebbe mandare in background l'azione di creazione e copia delle cartelle in ram eppoi switchare quando finisce...consigli?)

/\
||
ammazza che parentesi

Fil9998
23-11-2006, 15:02
mmm mmmm mmmm

il kernel in ram??


:confused: :confused:

fabri00
23-11-2006, 18:41
All'estero per lavoro in Asia vidi un annetto fà delle schede che avevano slots per diversi banchi di ram, un circuito di controllo e un connettore ide.

La mb vedeva la ram come un hd in modo automatico; con 4/5 banchi da 1 Gb (non ricordo esattamente quanti banchi montasse questa scheda) si aveva un hd da 4/5 Gb su ram.