Quando apro un'app ad alta intensità di RAM (VirtualBox impostato su 2 GB di RAM), viene generalmente utilizzato dello spazio di scambio, a seconda di cos'altro ho aperto in quel momento.
Tuttavia, quando esco dall'ultima applicazione, i 2 GB di RAM vengono liberati, ma rimane lo stesso utilizzo dello spazio di scambio.
Ad esempio, in questo momento, circa due ore dopo aver chiuso VirtualBox, ho 1,6 GB di RAM libera e ancora 770 MB in swap.
Come posso dire a Ubuntu di smettere di usare quello scambio e di tornare a usare la RAM?
Migliore risposta
Solo perché lo scambio è allocato, non significa che venga "usato". Sebbene programmi come monitor di sistema e top mostreranno parte del tuo spazio di scambio allocato (nel tuo esempio 770 MB), ciò non significa che il sistema si stia attivamente scambiando in entrata/uscita.
Per scoprire se qualcosa si sta scambiando in/out puoi usare il vmstat
comando. Lascialo in esecuzione per alcuni secondi per calmarti e guardare il si
(scambia) e so
colonne (scambio). Se non succede nulla, non c'è motivo di preoccuparsi.
Ecco l'output dell'esecuzione di vmstat 1
, dove puoi vedere che la mia macchina non si sta scambiando affatto.
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 78588 230788 9596 72196 0 0 0 0 543 652 12 6 78 0
0 0 78588 230780 9596 72196 0 0 0 0 531 410 1 0 99 0
0 0 78588 230796 9596 72196 0 0 0 0 300 335 1 1 97 0
1 0 78588 230788 9608 72224 0 0 40 0 737 762 4 4 84 8
5 0 78588 230788 9608 72224 0 0 0 0 415 385 9 3 84 0
0 0 78588 230540 9616 72224 0 0 0 44 611 556 55 5 31 0
0 0 78588 230532 9616 72224 0 0 0 0 574 662 1 6 89 0
Eppure qui in top
puoi vedere che ho spazio di scambio allocato:-
Mem: 475236k total, 245076k used, 230160k free, 9720k buffers
Swap: 491512k total, 78588k used, 412924k free, 72476k cached