Salut,
J'ai un comportement très bizarre sur certains de mes serveurs.
Le cache se rempli progressivement jusqu'à occuper toute la ram libre. Jusque là c'est un peu intrigant mais pas forcement anormal.
Là ou je ne comprends pas c'est que lorsque le cache est arrivé à 'manger' toute la ram et que beaucoup de process sont créés alors le système ne vide pas le cache pour faire de la place, ou pas complètement, mais utilise de la swap.
Par exemple sur un système avec 16 GB, j'ai 4 GB de mémoire utilisée par les process, 12 GB de cache et le système commence à swaper au lieu de taper dans le cache. Lorsque le nombre de process redescend à ~200 la swap se vide tout doucement et au final j'ai 500 MB de mémoire utilisée et 15,5 GB de cache.
J'essaye de jouer avec la swapiness et de vider le cache et ça a l'air de donner de bons résultats mais ce comportement anormal m'intrigue et ça reste un workaround pour maintenant mon serveur running.
Comment je peux voir ce que contient le cache ?
# contenu du cache => en partie les gestions de fichiers ouverts et autres
Posté par NeoX . Évalué à 2.
swapiness, c'est pour lui dire d'utiliser plus ou moins souvent le swap (exemple swapiness 0, ca voudrait dire essayer de ne jamais swapper)
il doit y avoir la meme chose pour le cache.
et ca se positionne grace à sysctl qui peut etre reglé pour se lancer au demarrage de la machine (pour eviter de le faire à chaque fois).
[^] # Re: contenu du cache => en partie les gestions de fichiers ouverts et au
Posté par neologix . Évalué à 5.
Pour le commit des pages dirty sur disque, ça se modifie avec les sysctl vm.diry_ratio et vm.dirty_background_ratio.
J'essaye de jouer avec la swapiness et de vider le cache et ça a l'air de donner de bons résultats mais ce comportement anormal m'intrigue et ça reste un workaround pour maintenant mon serveur running.
C'est un comportement normal, après cela dépend de chaque cas d'utilisation. Si le noyau les swap, c'est que les pages ne sont pas utilisées souvent (algorithme de type LRU), donc autant utiliser la mémoire pour le page cache, c'est meilleur pour les performances. Là où ce genre de comportement pose problème, c'est pour des desktops, parce que l'interactivité en prend un coup (devoir re-charger OOO et firefox à cause d'un updatedb en background, c'est pas sympa).
Donc je te dirais que tu devrais laisser en l'état, sauf si tu as une bonne raison de changer le comportement par défaut.
Dans ce cas, tu pourrais abaisser la swappiness à 40 par exemple, avec diry_ratio à 10 et dirty_background_ratio à 5 (voire moins, mais trop bas c'est mauvais pour les performances).
# « Normal » je pense
Posté par benoar . Évalué à 5.
[^] # Re: « Normal » je pense
Posté par Frédéric Perrin (site web personnel) . Évalué à 2.
# Solution définitive
Posté par Kerro . Évalué à 6.
[^] # Re: Solution définitive
Posté par totof2000 . Évalué à 1.
Avant de désactiver le swap, je ferais des mesures de perf, et je le réduirais petit à petit.
[^] # Re: Solution définitive
Posté par NeoX . Évalué à 3.
j'ai viré le swap sur les machines virtuelles, quitte à doubler la RAM allouées pour limiter les acces disques sur la machine physique.
[^] # Re: Solution définitive
Posté par totof2000 . Évalué à 2.
[^] # Re: Solution définitive
Posté par Krunch (site web personnel) . Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.