• [^] # Re: Linux aussi

    Posté par . En réponse à la dépêche Concours de plantage. Évalué à 10.

    contre les "trucalacon" genre while(fork()) ou while(malloc(42)) et contre toute autre pollution des ressources du systeme, il éxiste un fichier de limites soft et hard qui permet d'eviter toute saturation : /etc/security/limits.conf

    exemple, en ayant vos utilisateurs font partie d'un groupe "users" et qques personnes dans le groupe "src" (compilations de source)

    ca vous donne un fichier :
    # /etc/security/limits.conf
    # <domain> <type> <items> <value>

    # ne deboggant pas les soft, on va éviter les coredumps pour tout le monde
    * soft core 0

    #j'ai 10 users en parallele, 1Go de RAM, donc pas plus de...
    #on va dire 64MB sur 12 process par user (3 par connexion),
    #sauf ceux qui compilent : 256MB sur un max de 32 :)
    @staff hard rss 65536
    @staff soft nproc 10
    @staff hard nproc 20
    @src hard rss 262144
    @src soft nproc 16
    @src hard nproc 32

    #ce n'est pas un serveur de calcul, donc pas de process durant plus d'une heure (3600 secondes):
    @staff hard cpu 3600

    #les connections : 4 simultanée pour les users, 0 pour les daemons
    @staff - maxlogins 4
    @daemon - maxlogins 0
    ftp - maxlogins 0

    #EOF


    Eet voilà... bon bien sûr ça se fignole, mais je vous laisse lire le man.

    Sinon, il est possible de tuner ces limites directement dans le kernel comme le nombre de threads par user, limité à (d'après mes souvenirs) 256 en dur.