Forum Linux.embarqué Limiter la mémoire vive utilisé par un processus

Posté par  .
Étiquettes : aucune
0
17
nov.
2005
Bonjour,

je cherche un moyen de pourvoir limiter la mémoire vive que peut utiliser un processus.

Hier, j'ai eu un processus qui est parti en vrille et il a pris tout la mémoire et à fini par rendre la machine inutilisable.

Est-ce que je peux le lancer en spécifiant qu'il ne peut pas utiliser plus de 50% de la mémoire disponible ou plus de 500Mo par exemple.

Merci d'avance
  • # meuh

    Posté par  (site web personnel) . Évalué à 2.

    tu peux jouer avec les limites mémoire avec "ulimit", malgré le fait que le man ne parle que de file size limit au sujet de ulimit.

    à noter qu'une autre attaque courante quand on dispose d'un shell access et qu'il n'y a pas de limites, c'est les fork bombs. tu peux alors limiter le nombre de process pour te prémunir de cela.

    utilise "ulimit -a" pour voir toutes les limites.
  • # ...

    Posté par  . Évalué à 1.

    Par process je sais pas, mais par utilisateur: oui

    en passant par ulimit ou /etc/security/limits.conf
    • [^] # Re: ...

      Posté par  . Évalué à 2.

      Si on change les limites dans un shell (avec la commande ulimit), tous les process lancés à partir de ce shell héritent des nouvelles limites.
      La seule limitation quand on n'est pas superuser est qu'on ne peut que réduire les limites.
      Il suffit donc de faire:
      (ulimit -v NNN; commande)
      pour que commande ait son espace mémoire virtuel limité à NNN.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.