2 votes

Limiter la consommation de mémoire sous linux

Existe-t-il un moyen de limiter la consommation de mémoire sur un système linux ? Je préférerais une solution par utilisateur mais une solution par processus serait mieux que pas de limitation du tout.

8voto

Brian Points 1

La solution à votre problème est le module PAM de libcg . Les précisions suivent :

Sur les noyaux récents, ceci peut être contrôlé par les "Groupes de contrôle" ( cgroup ). C'est une fonctionnalité qui doit être compilée dans le noyau. La bibliothèque userland est nommée libcg (paquet cgroup-bin sur debian/ubuntu, veuillez commenter pour les autres distros). Il existe divers utilitaires qui peuvent se brancher.

Lorsqu'un processus en engendre un autre, le nouveau hérite du groupe de contrôle de son parent. La consommation de mémoire (ainsi que le processeur, le noyau, etc.) est affectée par le groupe de contrôle.

0 votes

Merci. Je vais l'essayer. J'ai essayé d'utiliser ulimit (pam_limits) avant mais cela ne fonctionne plus aujourd'hui.

0 votes

Fonctionne parfaitement. Bien que les cgroups soient un peu difficiles à configurer. Mais dès que vous comprenez comment il fonctionne, vous pouvez limiter la consommation de mémoire des utilisateurs pour le swap et la mémoire réelle individuellement.

1voto

user9517 Points 113163

Utilisation de pam_limits peut aider à fixer des limites par utilisateur pour certains paramètres liés à la mémoire. Les limites sont définies dans le fichier /etc/security/ limites.conf fichier.

0 votes

J'ai essayé d'utiliser pam_limits (ulimit) mais cela ne fonctionne pas sur les noyaux récents car ils ne restreignent plus les limites au rss.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X