Est-ce que quelqu'un connaît un utilitaire Linux qui empêchera toute la mémoire d'un processus forké d'être échangée sur un disque? J'ai vu l'appel 'mlockall', mais le piratage de l'application semble excessif.
Si j’ai besoin de ça, c’est que j’utilise Windows XP sous VirtualBox sur mon netbook linux, et je crains que deux niveaux d’échange ne se produisent, ce qui n’est pas bon sur un seul disque dur dinky netbook ...
S'il "échange" réellement (c'est-à-dire qu'il est vraiment occupé sur le disque), le système a besoin de plus de mémoire.
Si la RAM est suffisante, les systèmes d’exploitation ne seront pas échangés, mis à part la pagination de certains processus «dormants» pour libérer davantage de RAM physique.
Il ne répond pas directement à votre question, mais vous pouvez peut-être tirer parti de l’installation d’un noyau compatible avec zram / cache: cela vous fournira une certaine quantité de mémoire cache et de pages d'échange sauvegardées, sauvegardées en RAM.
De cette façon, votre système continuera à balayer ("swap") mais il en fera la plupart du temps en RAM, et grâce à la compression, la quantité de pages de mémoire conservées dans la RAM physique (en mémoire active ou dans Zcache) sera supérieure à ce que vous obtenez de la RAM normale non compressée.
la source
Vous pouvez également contrôler à quel moment le système commence à utiliser la mémoire d'échange. Cela vous indiquera quelle est la valeur actuelle de votre ordinateur:
cat / proc / sys / vm / swappiness
La valeur par défaut de Linux était 60. Grosso modo, cela signifie que l’ordinateur commencera à utiliser les partitions d’échange dès que 40% de la RAM utilisée est utilisé. C'était une valeur par défaut sûre pour les anciennes machines. Cependant, si vous avez beaucoup de RAM, vous pouvez réduire le swappiness.
À la volée:
sudo sysctl vm.swappiness = 10
sudo swapoff -a
sudo swapon -a
Ou de façon permanente en ajoutant vm.swappiness = 10 à /etc/sysctl.conf (pour Debian).
la source
60
. Ceci est une nouvelle machine avec 3,5 Go de RAM.