Linux Benutzer: CPU-Zeit begrenzen?
-
Hallo,
ist es möglich einem Benutzer nur begrenzte CPU Zeit zu geben, so dass der den Prozessor nur zu 50% auslasten darf? Oder dass von dem Benutzer gestartete Prozesse generell eine niedrigere Priorität kriegen?
-
Hab ich zwar noch nie gebraucht,
aber schau dir vll. mal den Befehl
ulimit an.*******@macbook:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited [b]max nice (-e) 0[/b] file size (blocks, -f) unlimited pending signals (-i) 7935 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 max rt priority (-r) 0 stack size (kbytes, -s) 8192 [b]cpu time (seconds, -t) unlimited[/b] max user processes (-u) 7935 virtual memory (kbytes, -v) unlimited file locks (-x) unlimitedBtw. Warum entfernt der Tag für fette Schrift
die Zwischenräume?
-
TheToast schrieb:
Hallo,
ist es möglich einem Benutzer nur begrenzte CPU Zeit zu geben, so dass der den Prozessor nur zu 50% auslasten darf? Oder dass von dem Benutzer gestartete Prozesse generell eine niedrigere Priorität kriegen?
Die prozentuale Auslastung kannst du nicht begrenzen. Was geht ist die Begrenzung der CPU-Sekunden, die ein Prozess verbraucht. Steuern kannst du das via /etc/security/limits.conf
Die Datei ist einigermassen selbsterklärend. Das mit der Auslastung ist ja eh unlogisch, da ein Prozess, wenn er an der Reihe ist, eh immer die gesamte Aufmerksamkeit des Prozessors hat (von Multicore-Systemen mal abgesehen).
-
Ich meinte die Prozentuale Auslastung auch zeitlich gesehen, so dass ein Prozess in einer Sekunde Zeit maximal 500ms CPU-Zeit verbraucht oder so. Allerdings kenn ich mich in dem Bereich der Betriebssysteme nicht sonderlich aus, deswegen weiß ich nicht ob das generell mögloch ist. Aber in der limits.conf steht ja auch ein nice-WErt, ist auch gut.
Die CPU-Zeit in der Limits.conf ist (sowie ich das verstanden hab) ein absolutwert, wenn der Prozess die Zeit überschreitet wird er beendet.
-
Linux unterstützt doch gar keine CPUs!?!

-
TheToast schrieb:
Ich meinte die Prozentuale Auslastung auch zeitlich gesehen, so dass ein Prozess in einer Sekunde Zeit maximal 500ms CPU-Zeit verbraucht oder so. Allerdings kenn ich mich in dem Bereich der Betriebssysteme nicht sonderlich aus, deswegen weiß ich nicht ob das generell mögloch ist. Aber in der limits.conf steht ja auch ein nice-WErt, ist auch gut.
Die CPU-Zeit in der Limits.conf ist (sowie ich das verstanden hab) ein absolutwert, wenn der Prozess die Zeit überschreitet wird er beendet.
Das ist richtig. Die Priorität (also nice) ist wohl der Ansatz den du brauchst.
-
ich glaube das geht mit nice
