Ich betreibe ein Linux-System, das viele Benutzer hat, aber manchmal tritt ein Missbrauch auf. Hier kann ein Benutzer einen einzelnen Prozess ausführen, der mehr als 80% der CPU / des Speichers beansprucht.
Gibt es eine Möglichkeit, dies zu verhindern, indem die CPU-Auslastung, die ein Prozess verbrauchen kann (beispielsweise auf 10%)? Mir ist bekannt cpulimit
, aber leider werden die von mir angewiesenen Prozesse begrenzt (z. B. einzelne Prozesse). Meine Frage ist also, wie ich das Limit auf alle laufenden Prozesse und Prozesse anwenden kann, die in Zukunft ausgeführt werden, ohne dass beispielsweise die ID / der Pfad angegeben werden muss.
cpulimit
in Verbindung mit Ihrem Suchskript. Haben Sie eine Richtlinie und empfehlen Sie die Verwendung von cpulimit
, suchen Sie dann nach über 10% und beschränken Sie sich dann auf 5% (daher werden Benutzer zur Verwendung aufgefordert cpulimit
). Stellen Sie außerdem sicher, dass Sie mehrere Prozesse erkennen können, die für einen einzelnen Benutzer mehr als 10% betragen.
cpulimit
ist viel besser als nur das Beenden des Prozesses, da er später vom Benutzer neu gestartet werden kann (wie in einem Ihrer Kommentare angegeben). Vielen Dank!