Když otevřu aplikaci náročnou na RAM (VirtualBox nastavený na 2 GB RAM), obvykle se použije nějaký odkládací prostor v závislosti na tom, co jiného mám v tu chvíli otevřené.
Když však ukončím poslední aplikaci, uvolní se 2 GB paměti RAM, ale zůstane stejné využití odkládacího prostoru.
Například právě teď, asi dvě hodiny po uzavření VirtualBoxu, mám 1,6 GB volné RAM a stále 770 MB ve swapu.
Jak mohu říct Ubuntu, aby přestalo používat tento swap a vrátilo se k používání RAM?
Nejlepší odpověď
To, že je swap přidělen, neznamená, že je „používán“. I když programy jako systémový monitor a top ukážou, že je část vašeho odkládacího prostoru přidělena (ve vašem příkladu 770 MB), neznamená to, že systém aktivně přepíná dovnitř/odchází.
Chcete-li zjistit, zda se něco swapuje dovnitř/ven, můžete použít vmstat
příkaz. Nechte jej několik sekund běžet, aby se usadil a sledujte si
(swapin) a so
(swapout) sloupy. Pokud se nic neděje, není důvod se znepokojovat.
Zde je výstup spuštění vmstat 1
, kde můžete vidět, že se můj stroj vůbec nevyměňuje.
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
Přesto zde v top
můžete vidět, že mám přidělený odkládací prostor:-
Mem: 475236k total, 245076k used, 230160k free, 9720k buffers
Swap: 491512k total, 78588k used, 412924k free, 72476k cached