TUTTI i processori a 32 bit leggono SEMPRE esattamente 4 GIGA di ram, ovvero 2^32 bit. Anche se in realtà di ram fisica, solitamente se ne possiede molta di meno!
TUTTI i processori a 64 bit invece leggono SEMPRE esattamente 16 EXA di ram! :-o :-o (è la verità!), ovvero 2^64 bit
le persone che dicono di avere server 32 bit con + di 4 giga dicono una fesseria, in realtà a quei processori vengono aggiunti 4 bit, si passa quindi da 32 a 36 bit per un totale di 2^36 bit = 64 GIGA di ram
Continuiamo la trattazione sui processori 32 bit ma il discorso si può ovviamente allargare ai 36 e 64 bit.
------------------------------------------
I computer a un 32 bit leggono SEMPRE e ripeto SEMPRE 4 GIGA di ram, tutti i programmi sono creati per lavorare con 4 GIGA di ram (nei 64, anche se è possibile, nessuno usa 16 EXA, sono troppi).
Questo dovrebbe far intuire come mentre un computer lavora si venga a creare un collo di bottiglia quando i dati passano per la tua ram fisica! (come questo: )
| |____________________| |
| 4GB ____________________ 4GB |
| | | |
| | | |
|-------------| |--------------|
Ma come gestisce questa memoria il kernel linux?
Nella ram fisica la spazio è "diviso" tra "due tipi di memoria"
* il primo tipo è quella occupata dai programmi in esecuzione (e NON si tocca)
* la seconda è quella usata dalla cache del disco ovvero uno cache che serve a velocizzare l'accesso in scrittura/lettura al filesystem (e qui entra in gioco la swappiness)
Quando la ram fisica risulta totalmente occupata si passano le informazioni meno referenziate (con bassa priorità) dalla ram alla swap, scrivere nella swap però è un'operazione molto lenta, circa 10 volte più lenta rispetto alla ram!
il kernel (a partire dalla 2.6) linux gestisce la tendenza di scrivere sulla swap secondo un algoritmo:
tendenza a swappare = mapped_ratio/2 + distress + vm_swappiness
le prime due sono "inviolabili" (e non mi dilungo su cosa siano perchè onestamente non ricordo!) ma la variabile di swappines no!, essa ci permette di ridurre la cache del disco, permettendoci di liberare ram e quindi non swappare!
di default la swappiness è settata a 60:
60
Ma noi la possiamo modificare tra 0 e 100. + è alto il valore + sarà la tendenza a swappare!
Modifichiamo quindi questo valore se notiamo particolari rallentamenti:
modifica temporanea
settiamo la swappines ad esempio a 30! da root digitiamo:
si otterrà questa risposta:
Vediamo come lavora il nostro pc, se tutto è ok possiamo rendere permanente la nostra modifica, altrimenti possimo provare a "giocare" e trovare il giusto settaggio.
modifica permanente
Aprimo con un qualisiasi editor di testo, da root, il file:
/etc/sysctl.conf
e modifichiamo oppure aggungiamo se non c'è questa riga:
sostituendo ovviamente, a 60 il valore che ti interessa!.
---------------------------------------
Prima di rendere permanente le modifiche consiglio vivamente di vedere come si comporta il nostro pc! Grazie ad alcuni tools come kinfoceter o da shell usando il comando:
Monitorizziamo per un pò la situazione quando si aprono alcuni programmi, Se si swappa molto e la cache NON scende sotto il 30-40% allora, iniziamo a settare un bel 30! per scendere magari a 10!
queste informazioni non sono applicabili in assoluto!
se il programma che usiamo ha bisogno di "scrivere" sul filesystem molto spesso, riducendo la cache il programma rallenta, questo per fare un esempio!
inoltre per concludere una chicca a favore di linux!
per chi non lo sapesse su linux la swap è una partizione! su windows è un FILE, questo è uno dei motivi che portano anche ad una maggiore frammentazione!! (per loro ovviamente!) 8-) 8-)
spero di essere stato utile!.. BUONO STUDIO!
Commenti
Inviato da anubis il Dom, 25/11/2007 - 15:41.
disegno memoria
il disegnino non ne vuole sapere di uscire...uff..
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
Inviato da SWZone il Lun, 26/11/2007 - 21:25.
Re: disegno memoria
Ho un serverino con 512 mb di ram e opensuse 10.3, posso mettere lo swapness più basso di 60? Vorrei far lavorare il meno possibile l'hardisk. Se si che valore potrei dare?
Inviato da anubis il Mar, 27/11/2007 - 20:57.
Re: disegno memoria
certo che la puoi mettere ad un valore ineriore, anzi l'obbiettivo di questa guida è metterti nella condizione di farlo! A priori non posso però dirti che valore mettere. usa i tool proposti come Kinfocenter
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
Inviato da nefertario il Sab, 01/12/2007 - 00:58.
Re: disegno memoria
ciao, ho provato ma non mi fa salvare il file una volta che ho aggiunto la stringa. mi dice di controllare se ho il diritto di farlo o una cosa del genere
Inviato da anubis il Sab, 01/12/2007 - 01:34.
Re: disegno memoria
fallo da root! ^^
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
Inviato da wal7er il Sab, 15/12/2007 - 14:40.
RE
Quote:
spero di essere stato utile!.. BUONO STUDIO!
Ad essere piu' percisi non e' solo per questo ma anche (e soprattutto) per gli algoritmi usati per la paginazione (algortitmi usati su UNIX e studiati/introdotti negli anni 1970).
HP Pavilion dv5-1110el powered by OpenSUSE 13.2 64bit
http://linuxcounter.net/cert/432576.png
Inviato da anubis il Sab, 22/12/2007 - 12:48.
Re: RE
per una discussione + approfondita..
http://video.google.it/videoplay?docid=5049463766682138223
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
Inviato da dedalus il Sab, 29/12/2007 - 04:06.
Re: RE
quando dici:
Monitorizziamo per un pò la situazione quando si aprono alcuni programmi, Se si swappa molto e la cache NON scende sotto il 30-40% allora, iniziamo a settare un bel 30! per scendere magari a 10!
cosa intendi esattamente:
1) devo stare attento che la cache NON scenda sotto il 20-40% in generale? (credo di no)
2) Oppure devo stare attento che la cache NON scenda sotto il 20-40% SOLO SE il sistema sta swappando molto? E' questo che intendevi, giusto?
Grazie!
Inviato da anubis il Sab, 29/12/2007 - 10:54.
Re: RE
con
Quote:
intendevo,
se la swapp è molto occupata e la cache non scende sotto il 40% (della ram totale) allora stiamo "sprecando" ram (su un giga sprechi quasi 400 mb) con la cache (tutto dipende dalle proprie esigenze..come detto sopra)
per evitare questo spreco settiamo il valore per diminuire la cache ecc ecc
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
Inviato da dedalus il Sab, 29/12/2007 - 19:38.
Re: RE
chiarissimo, grazie!