Utilisation de la RAM sur Proxmox

Bonjour,
je commence tout juste dans le monde de la virtualisation donc je vous prie de m’excuser si mes questions vont paraître bêtes, mais je ne trouve pas de réponse malgré pas mal de recherche un peu partout.
J’utilise proxmox v.6.3-3 sur une machine qui embarque un i5-3470 @ 3.20GHz (4 coeurs) avec 16Go de RAM. Cela me semble pas mal pour débuter.
image

Je me pose pas mal de question sur la RAM.
J’ai lu cet article qui est très intéressant : https://www.randco.fr/blog/2012/gestion-de-la-ram-sous-linux/

J’ai commencé à créer plusieurs VM (que je vais tester avant de basculer mon jeedom actuellement sur RPI3B+).
Je constate que 2 d’entres-elles (plex media server et transmission) ont la RAM tout le temps au max (à 90-95% d’utilisation).
image

Il s’agit de la mémoire cache.
Si je vide celle-ci avec la commande sysctl vm.drop_caches=3 je reviens à quelque chose de l’ordre de 10-15%.
Mais la RAM fini toujours par remonter.
image

J’ai bien compris que c’était le fonctionne logique de Linux mais je ne sais donc pas comment bien affecter la RAM disponible.
Je m’explique, ayant 16go est-ce que je peux affecter par exemple 5 VM à 4go et dépasser les 16 dispo et laisser le système gérer ou je dois affecter les 16go sans dépasser?
Quelle est l’incidence sur la consommation réelle de RAM de la machine hôte?
Est-ce qu’il faut prévoir un script pour vider de temps en temps la mémoire cache?
Finalement, si linux prend tout l’espace réservé, je ne comprends pas trop l’intérêt de suivre le graph de RAM.
Et enfin comment savoir quelle capacité de mémoire je dois affecté à chaque VM? par exemple pour plex, j’ai mis 4go et transmission 2go, c’est certainement trop mais comment savoir?

Merci d’avance pour votre aide

petit up :smiley:

Hello,

En principe, tu peux allouer plus de mémoire à tes machines (5x4Go) que ce que tu as physiquement (1x16Go)
Le principe c’est de partager la mémoire libre pour la rendre disponible à la VM qui en a besoin (ballooning/overcommitting)
Par exemple les VM 1 à 4 utilisent 3Go réellement, il y a donc 4x1Go que l’on peut ‹ ajouter › temporairement à la VM5 …

image

Cote OS c’est transparent et c’est le cache qui fait le job en cas de débordement. Le prix à payer c’est un peu de temps d’écriture sur les disques et ça fonctionne bien mais à plusieurs conditions :

  • Que toute les VMS ne soient pas en débordement en même temps…
  • Que ce soit une action temporaire et pas répétitive

Bref à utiliser avec précautions quand même. Perso pour quelques euros, je passerai de 16Go à 32Go si c’est supporté par ton nuc

Merci pour ton retour.
Pour l’instant j’4 VM dont 2 qui consomme même pas 512Mo (pi-hole et apache) et les 2 autre qui tournent à 1go max donc je suis large avec les 16go.
Mais vu que j’ai affecté 2go, linux les utilisent en cache donc ça fausse ma conso réelle