Lorsque j'ouvre une application gourmande en RAM (VirtualBox définie sur 2 Go de RAM), un espace d'échange est généralement utilisé, en fonction de ce que j'ai d'autre ouvert à ce moment-là.
Cependant, lorsque je quitte cette dernière application, les 2 Go de RAM sont libérés, mais la même utilisation de l'espace d'échange reste.
Par exemple, en ce moment, environ deux heures après avoir fermé VirtualBox, j'ai 1,6 Go de RAM libre et encore 770 Mo en swap.
Comment puis-je dire à Ubuntu d'arrêter d'utiliser ce swap et de revenir à l'utilisation de la RAM ?
Meilleure réponse
Ce n'est pas parce que l'échange est alloué qu'il est "utilisé". Bien que des programmes tels que System Monitor et Top indiquent qu'une partie de votre espace d'échange est allouée (dans votre exemple, 770 Mo), cela ne signifie pas que le système est en train d'échanger activement.
Pour savoir si quelque chose est en train d'être échangé, vous pouvez utiliser le vmstat
commande. Laissez-le fonctionner quelques secondes pour s'installer et regarder le si
(swapin) et so
(permuter) les colonnes. Si rien ne se passe, il n'y a aucune raison de s'inquiéter.
Voici le résultat de l'exécution de vmstat 1
, où vous pouvez voir que ma machine n'échange pas du tout.
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
Pourtant ici en top
vous pouvez voir que j'ai un espace d'échange alloué :-
Mem: 475236k total, 245076k used, 230160k free, 9720k buffers
Swap: 491512k total, 78588k used, 412924k free, 72476k cached