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.