Developpez.com

Le Club des Développeurs et IT Pro

Apprendre à optimiser la gestion des ressources système avec ulimit

Un tutoriel de Quentin BUSUTTIL

Le 2017-10-30 00:45:35, par Buzut, Membre émérite
Chers membres du club,

J'ai le plaisir de vous présenter mon tutoriel  :

Apprendre à optimiser la gestion des ressources système avec ulimit
Vous le saviez peut-être, Linux, comme d'autres systèmes, attribue des limites par défaut aux processus et aux utilisateurs. Cela permet bien évidemment de s'assurer que l'OS reste disponible pour tous et n'en vienne pas à crasher. Les réglages par défaut sont assez prudents, et il y a de nombreuses situations où il peut être intéressant d'adapter cela à nos propres besoins. Partons à l'exploration du pourquoi et du comment !
Bonne lecture

Retrouvez les meilleurs cours et tutoriels pour apprendre le système Linux.
  Discussion forum
4 commentaires
  • LittleWhite
    Responsable 2D/3D/Jeux
    Bonjour,

    Intéressant, mais un peu court. On n'apprend pas vraiment comment optimiser son système, ou comment mettre en application un ulimit pour des tâches de la vie courante. Mais en même temps, je n'avais jamais remarqué que ulimit permet autant.
    Pour ceux qui veulent aller plus loin (pour contrôler le réseau, les accès disque...) il est possible d'utiliser les cgroups.
  • Buzut
    Membre émérite
    Hello,

    Oui on pourrait creuser plus le sujet et même dédier plusieurs chapitre d'un bouquin dessus. Le but de l'article était d'expliquer les possibilités de ulimit. J'explique tout de même comment lever ou mettre des limites sur différents services.

    Je ne sais pas ce que tu appelles "tâches de la vie courante" mais sur un serveur, ce à quoi on a le plus recourt, c'est quand même bien d'augmenter ou baisser les limites pour tel utilisateur ou service. Il y a surement des cas d'usage pour les machines personnelles, mais on se place plutôt ici dans usage serveur.

    Merci pour ton commentaire et l'ajout sur les cgroups !
    ++
  • LittleWhite
    Responsable 2D/3D/Jeux
    Par exemple, si je lance un rendu Blender (CPU/GPU intensif, assez consommateur de mémoire), je souhaite tout de même pouvoir utiliser Internet (car je n'ai pas de machine dédiée). Des trucs du style, qui peuvent se rencontrer sur une utilisation "bureautique" (dans le sens, pas serveur) d'une machine. Je peux prendre d'autre exemple avec un processus de compilation qui me bloquerai ma machine.

    Pour le serveur, je vois bien l'utilisation que je peux en faire (mieux restreindre tel ou tel processus pour en limiter l'impact sur l'intégralité du système).
  • Buzut
    Membre émérite
    Ah oui je vois, très bon exemple ! En effet, on pourrait utiliser ulimit pour ce genre de choses également. J'avoue ne jamais avoir creusé la question.
    Si l'envie te dit de compléter l'article sur cet usage, tu es le bienvenu.