Re: Swap sans swap ?

Top Page

Reply to this message
Author: Frédéric
Date:  
To: Guilde
Subject: Re: Swap sans swap ?
Le 29/11/2019, Edgar a écrit :

> Apparemment tu es embêté par la politique « overcommit memory » du noyau.
> En gros, quand un processus demande de la mémoire, le noyau dit
> souvent « OK », même s'il n'y en a plus.[1] Il ne répond « non » qu'aux
> demandes les plus délirantes. Il part du principe qu'une grosse partie
> de la mémoire demandée ne sera jamais vraiment utilisée. Il paraît qu'il
> y a pas mal de programmes qui ont cette tendance à juste demander au cas
> où...
>
> Tu peux changer la politique par défaut avec :
>
>     sudo sysctl vm.overcommit_memory=2

>
> où la valeur « 2 » signifie « Don't overcommit. ».[2] Regarde aussi le
> paramètre vm.overcommit_ratio. Tu peux rendre les réglages définitifs en
> les sauvant dans /etc/sysctl.conf.[3]


Dans la doc, je lis :

"2 - Don't overcommit. The total address space commit
     for the system is not permitted to exceed swap + a
     configurable amount (default is 50%) of physical RAM."


Et :

"The current overcommit limit and amount committed are viewable in
/proc/meminfo as CommitLimit and Committed_AS respectively."

Chez moi, j'ai :

$ cat /proc/meminfo | grep Commit
CommitLimit:     4088616 kB
Committed_AS:    9431416 kB


Comme j'ai désactivé le swap, le CommitLimit vaut bien 50% de ma RAM (qui
fait 8Go). Par contre, on voit bien qu'il a alloué plus que la mémoire
(9Go)...

Si je met le paramètre vm.overcommit_memory à 2, seule la moitié de la
mémoire dispo sera réelle utilisée, c'est bien ça ? Du coup, il faut en //
augmenter le paramètre CommitLimit (via vm.overcommit_ratio, si j'ai bien
suivi).

J'ai juste ?

Le ratio, je le met à 1, pour pouvoir tout allouer ?

-- 
    Frédéric