Chaque fois que j'exécute des tâches intensives en CPU / RAM, je ne peux pas utiliser mon ordinateur, il se fige jusqu'à ce que la tâche soit terminée. Je cherchais un moyen de limiter les ressources par processus pour tous les processus.
c’est-à-dire qu’aucun des processus ne dépasse les 25% d’UC ou 3 Go de RAM.
Merci
Réponses:
Limiter tous les processus à une limite arbitraire pourrait ne pas être aussi bénéfique que vous pourriez le penser initialement.
Comme l'a souligné un commentaire, vous pouvez limiter le processeur , mais en fonction du processus, il peut être préférable de définir simplement le
nice
paramètre du processus (également appelé priorité du processus). Cela permettra au processus de fonctionner à plein régime lorsque vous lisez un site et n’utilisez aucun processeur, mais cédez le passage à votre navigateur dès qu’il doit commencer à utiliser le (s) processeur (s) pour tout JavaScript (en tant que exemple).Une autre option consiste à définir l' affinité CPU du processus. Cela permet au système d'exploitation d'exécuter le processus uniquement sur un cœur de processeur spécifique, laissant les 3 autres (dans votre cas) libres pour tout ce qui pourrait en avoir besoin. C'est bien lorsque votre processus est un processus à un seul thread (comme un processus de codage vidéo ou un processus de construction de source, par exemple); vous pouvez définir l'affinité avec le 1er cœur de processeur et vous en avez 3 autres au repos (jusqu'à leur utilisation).
Et il y a aussi
ulimit
, que vous pouvez utiliser pour définir des limites strictes et strictes ou RAM / CPU (bien que cela soit à l'échelle du système et pas par processus).Il convient de noter que la limitation de votre RAM peut avoir des conséquences inattendues (comme l'utilisation de swap) et que vous devez plutôt essayer la
nice
valeur, l'affinité du processeur ou leulimit
temps processeur avant de limiter la RAM. La RAM n’est pas comme le processeur, car plus son utilisation dégraderait les performances globales du système; au contraire, les performances du système ont tendance à augmenter lorsque davantage de RAM peut être utilisée et vous ne devriez remarquer une baisse de performance que si la zone de swap doit être utilisée sur la RAM (car le swap est généralement basé sur un disque et les ordres de grandeur sont plus lents que la RAM), et si vous remarquez que beaucoup de zones d'échange sont utilisées avec un tas de RAM libre, puis il se passe quelque chose d'autre qui doit être résolu (comme un paramètre de noyau).J'espère que cela peut aider.
la source