
Ich möchte die Anzahl der CPU-Kerne begrenzen, die ein bestimmter Benutzer zu einem bestimmten Zeitpunkt verwenden kann. Wie mache ich das unter Linux?
Antwort1
Soweit ich weiß, können Sie das nicht anders tun, als Docker als virtuelle Umgebung zu verwenden und den gesamten Container auf ausgewählte Kerne zu beschränken. Beispiel:
docker run --cpuset-cpus="0"
In den meisten Fällen sollten Sie nicht gezwungen sein, eine solche Lösung zu verwenden. Wenn einer der Benutzer Probleme verursacht, /etc/security/limits.conf
fügen Sie einen Eintrag hinzu:
username - priority 19
Dadurch sollten alle Prozesse des Benutzers mit der Priorität 19 (niedrigste) ausgeführt werden und selbst bei hoher CPU-Belastung sollten andere Programme auf dem Computer nicht beeinträchtigt werden.
Wenn es sich um einen einzelnen Prozess (nicht um einen Benutzer) handelt, können Sie auch nice
oder cpulimit
/ verwenden.cgroups