web-dev-qa-db-fra.com

Existe-t-il un moyen de limiter le gestionnaire de mémoire du noyau pour qu'il n'utilise que 75% de la mémoire?

OK, voici le principe: le client est un magasin Windows et leurs machines virtuelles Ubuntu utilisent toujours 100% de la mémoire allouée (conformément à leur conception), de sorte qu'elles apparaissent en "rouge" dans les tableaux d'utilisation de la mémoire. Comme nous n’avons pas accès aux ordinateurs virtuels, l’utilisation de la mémoire est mesurée de manière externe par VMWare et Google ne m’a pas donné d’autre idée en tant que ce que je veux faire est stupide.

C'est aussi politique: Je leur ai déjà dit que c'était par leur conception, les machines n'utilisent pas beaucoup d'échange et de suppression les machines virtuelles Ubuntu du rapport ne sont pas réalisables, pas plus que de définir la limite de rapports de mémoire à 100% et de surveiller uniquement l'utilisation de l'échange , car un commercial a accepté ces indicateurs de performance clés dans le contrat , mais malheureusement, c'est l'information dont j'ai besoin pour pouvoir soulever une demande de changement auprès de leur fournisseur externe pour ces ordinateurs virtuels, alors posez une question ici.

Existe-t-il un moyen de limiter le gestionnaire de mémoire du noyau afin qu'il n'utilise que 75% des RAM disponibles dans des circonstances normales et que les 25% restants ne soient utilisés qu'en cas de besoin réel? (par exemple pour la mise en cache sur disque)

Je voudrais aimer que la mémoire reste disponible lorsque cela est vraiment nécessaire, mais je prendrai n'importe quelle réponse ...

Ce que j'ai déjà essayé:

  • Allouer un énorme disque RAM et ne pas l'utiliser: la RAM lui est toujours allouée ... : - (
2
Fabby

Le seul moyen auquel je puisse penser est de dire au noyau que 25% de la mémoire est mauvaise et de ne pas l'utiliser.

Ce nix & Linux Q & A a d’excellentes instructions. Voici un extrait:

S'il y a une mauvaise RAM à 802M et 807M, vous pouvez désactiver une section de RAM de 10M commençant à 800M comme ceci:

memmap=10M$800M
2