Begrenzen Sie den relativen (nicht absoluten) Prozessorverbrauch eines Prozesses in Linux

Begrenzen Sie den relativen (nicht absoluten) Prozessorverbrauch eines Prozesses in Linux

Was ist die Standardmethode unter Linux, um eine Systemrichtlinie durchzusetzen, die dierelativCPU-Auslastung eines einzelnen Prozesses? Das heißt, auf einer Quad-Core-Maschine möchte ich nie, dass ein Prozess mehr als 2 CPUs gleichzeitig nutzt, selbst wenn der Prozess mehrere Threads erstellt. IchnichtSie möchten kein absolutes Zeitlimit, sondern nur ein relatives Limit, damit eine Aufgabe die Maschine nicht dominieren kann. Dies unterscheidet sich auch von renice, das einem Prozess erlaubt, alle Ressourcen zu nutzen, aber höflich beiseite tritt, wenn andere sie auch benötigen.

ulimitist das übliche Tool zur Ressourcenbeschränkung, es lässt jedoch keine derartigen CPU-Einschränkungen zu. Es kann die Anzahl der Prozesse pro Benutzer oder die absolute CPU-Zeit begrenzen, nicht jedoch die maximale Anzahl aktiver Threads eines einzelnen Prozesses.

Ich habe ein paar Tools auf Benutzerebene gefunden, wieCPU-Limit, aber kein Tool oder keine Einstellung auf Systemebene. Gibt es einen solchen standardmäßigen Ressourcencontroller in Linux (Red Hat Enterprise, falls das wichtig ist)? Wenn eine solche Beschränkung festgelegt ist, wie würde ein Benutzer sie erkennen?

Antwort1

Das Wort, nach dem Sie suchen, ist „Affinität“. man taskset. Das könnte das bewirken, was Sie wollen.

verwandte Informationen