Comment puis-je restreindre l'utilisation de la RAM pour un utilisateur ou un processus particulier?


8

J'utilise un service d'arrière-plan qui fuit de la mémoire de temps en temps. Pour éviter d'utiliser le Alt+ SysRq REISUB[ 1 ], je voudrais restreindre l'utilisation de la RAM pour un processus ou un utilisateur système.

Je voudrais vraiment dire: l'utilisateur x peut utiliser la quantité maximale de RAM de 1 Go.

Est-ce faisable? Ai-je besoin d'une sorte de machine virtuelle pour cela? J'utilise Ubuntu 9.10.

Réponses:


10

ulimit est votre ami. Découvrez l'indicateur -m. Je pense que vous définissez cela avant de lancer votre processus et cela s'applique à partir de là (dans le shell actuel).


Merci, joli indice! Si je comprends bien ulimit, cela limite tous les utilisateurs mémoire / processus / quelle que soit la consommation. J'aime juste le limiter à un utilisateur / processus et sous-processus.
guerda

1
ulimit est une commande shell, et n'affecte les processus démarrés à partir du même shell qu'après l'exécution d'ulimit. Vous démarrez le processus dans un script shell avec une commande ulimit pour qu'il affecte uniquement ce processus.
KeithB

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.