PDA

View Full Version : ma perche non usa la partizione di swap?


Miky Mouse
16-10-2006, 06:57
sul notebook ho la suse10.1 e 1024 di ram, con una partizione da 2gb e rotti per lo swap. ho installato superkaramba con alcuni temi, tra cui uno con le info si di sistema e vedo che la ram a volte finisce tutta (ma possibile che linux succhia tutta stà ram??) ma lo swap resta sempre a 0.
ho controllato anche da riga di comando e effettivamente l'uso dello swap è 0... ma è normale?

Marco-S
16-10-2006, 08:10
e meno male che non usa la partizione di swap! Te ne accorgeresti per quanto rallenta il sistema :)
Comunque la maggior parte della ram se la riserva e la usa man mano che gli serve. A te risulterà libera qualche mega ma non c'è da preoccuparsi.

ilsensine
16-10-2006, 08:21
ma possibile che linux succhia tutta stà ram??
Sì cosa c'è di sbagliato? L'hai pagata tutta la RAM, no?

Miky Mouse
16-10-2006, 11:52
Sì cosa c'è di sbagliato? L'hai pagata tutta la RAM, no?

non ho capito :mc: che intendi?

ma se la usa perche mi risulta a 0mb l'utilizzo?

mykol
16-10-2006, 12:04
intende che linux tiene occupata pressochè tutta la ram salvo liberarla quando gli serve, quindi non c'è nulla di cui preoccuparsi.

VICIUS
16-10-2006, 12:05
non ho capito :mc: che intendi?

ma se la usa perche mi risulta a 0mb l'utilizzo?
Linux ha un sistema di caching molto aggressivo. Finché puo tiene in ram tutto il possibile. Programmi come karamba segnalano la ram sempre piena perché tengono conto anche della cache del sistema. Se da console usi il comando free e controlli la seconda riga, che contiene le statistiche escludendo cache e buffers, noterai che la ram occupata è molto inferiore a quanto riportato da karamba.

ciao ;)

Miky Mouse
16-10-2006, 12:24
Linux ha un sistema di caching molto aggressivo. Finché puo tiene in ram tutto il possibile. Programmi come karamba segnalano la ram sempre piena perché tengono conto anche della cache del sistema. Se da console usi il comando free e controlli la seconda riga, che contiene le statistiche escludendo cache e buffers, noterai che la ram occupata è molto inferiore a quanto riportato da karamba.

ciao ;)

si ma noto anche che quella usata per swap è zero... vorrei solo capire il perche.... :mc:

ammetto che ancora non ho usato programmi molto esigenti in fatto di memoria, aspetta che la ram sia totalmente piena prima di scrivere sul disco? uff sono confuso

ilsensine
16-10-2006, 12:27
non ho capito :mc: che intendi?

ma se la usa perche mi risulta a 0mb l'utilizzo?
Intendo che la ram non serve solo come memoria per i programmi, ma può essere utilizzata in altri modi per velocizzare il sistema (ad es. buffer/page cache, kernel slab cache ecc.)

Il fatto che il tuo swap non sia utilizzato, è indice che il sistema ritiene di avere memoria in abbondanza per il funzionamento generale.

E' possibile fare il tuning di alcuni parametri del kernel per aumentare la "swappiness", ma in genere le impostazioni di default vanno bene per la grande maggioranza dei casi.

mcardini
16-10-2006, 12:29
Linux cerca di usare lo swap il meno possible, in quanto lo swap e' MOLTO piu' lento della ram.
Io avevo 512 mb di ram (adesso ho 1 gb) e anche aprendo tante applicazioni insieme, raramente ho visto linux usare lo swap.

Miky Mouse
16-10-2006, 12:38
ho capito...

ma quindi con parecchia ram è inutile avere una partizione di swap grande?

Poix81
16-10-2006, 12:54
ho capito...

ma quindi con parecchia ram è inutile avere una partizione di swap grande?

secondo me ti bastano 512Mbyte

ciao ciao

iron84
08-02-2007, 22:40
Io invece sono in questa situazione: Ho aperto tanti programmi a tal punto da far entrare in funzione lo swap su disco. Ho fatto raggiungere lo swap fino al 94% con notevoli rallentamenti. Chiudendo alcuni programmi è aumentata la quantità di ram libera, ma lo swap non è sceso.
Come si fa a dire a linux (Ubuntu) di togliere i dati dallo swap e utilizzare di nuovo la ram?

ilsensine
09-02-2007, 08:52
Chiudendo alcuni programmi è aumentata la quantità di ram libera, ma lo swap non è sceso.
Vuol dire che molti dei programmi ancora aperti hanno buona parte ancora in swap. Non è necessariamente un segno negativo: se quei dati, a distanza di tempo, sono rimasti in swap, vuol dire che si tratta veramente di dati non utilizzati o di programmi "dormienti". Torneranno in memoria da soli, quando/se necessario.
Come si fa a dire a linux (Ubuntu) di togliere i dati dallo swap e utilizzare di nuovo la ram?
Un ciclo di swapoff/swapon forza i dati in swap a tornare in ram, se necessario liberando memoria dalla page cache. Non vedo perché vorresti farlo.
Kon Kolivas, se può interessarti, sta lavorando a una soluzione più furba: lo swap prefetch.

Fil9998
09-02-2007, 09:05
comunque ...
su pc con un giga di ram...non gli ho MAI visto usare se non al massimo 80 MB di swap e molto, molto raramente e questo con TUTTE le distro.

ergo ... ho ridotto la partizione di swap a 500 MB ... tanto ... di più non ne usa...

imho per uso desktop due giga di ram sono solo uno spreco di Hard disk.

iron84
09-02-2007, 14:55
e per curiosità, si può sapere quali programmi hanno i loro dati nello swap?

ilsensine
12-02-2007, 08:29
e per curiosità, si può sapere quali programmi hanno i loro dati nello swap?
Eh no, non è affatto banale chiedere al kernel questa informazione. Con "top" puoi vedere quanti sono gli indirizzi virtuali allocati per ciascun programma (colonna VIRT) e la memoria effettivamente residente in ram (colonna RES). La differenza tra i due, in genere notevole, può essere associata a molti fattori, solo uno dei quali è lo swap.