UCLAMPSET(1)

BEZEICHNUNG
uclampset - die Utilization-Clamping-Attribute des Systems oder eines Prozesses manipulieren

ÜBERSICHT

uclampset [options] [-m uclamp_min] [-M uclamp_max] _command argument

uclampset [options] [-m uclamp_min] [-M uclamp_max] -p PID

BESCHREIBUNG

uclampset sets or retrieves the utilization clamping attributes of an existing PID, or runs command with the given attributes.

»Utilization clamping« (Leistungsklammerung) ist eine neue Funktion, die in Version 5.3 des Kernels eingeführt wurde. Sie gibt dem Scheduler Hinweise zum erlaubten Bereich der »Utilization«, in dem die Task agieren soll.

Die Leistung einer Task beeinflusst die Frequenzauswahl und die Platzierung der Task. Zum Zeitpunkt der Erstellung dieser Handbuchseite kann nur der Cpufreq-Governor »Schedutil« mit den Leistungsklammerungs-Hinweisen umgehen. In der Dokumentation Ihres Kernels finden Sie weitere Informationen über die Unterstützung anderer Cpufreq-Governors.

Falls Sie ein asymmetrisches heterogenes System wie big.LITTLE auf der ARM-Architektur betreiben, kann die Leistungsklammerung dabei helfen, die Task-Platzierung auszubalancieren. Falls die Task-Leistung hoch ist, so dass der Wert von I höher ist als die Kapazität der kleinen Kerne, dann wird der Scheduler sein Bestes tun, sie in einen großen Kern zu verlagern.

Ähnlich verhält es sich, wenn util_max kleiner oder gleich der Kapazität der kleinen Kerne ist; dann kann der Scheduler noch entscheiden, sie selbst dann dort zu platzieren, wenn die tatsächliche Leistung der Task am Maximum ist.

Wenn Sie uclamp_min für eine Task auf einen von Null verschiedenen Wert setzen, wird die Leistung der Task gesteigert, so als ob sie immer von diesem Leistungswert gestartet wäre.

Wenn Sie uclamp_max für eine Task auf einen Wert unter 1024 setzen, wird die Leistung der Task begrenzt, so als ob sie nie diesen Leistungswert überstiegen hätte.

Der volle Leistungsbereich ist: [0:1024]. Der spezielle Wert -1 wird verwendet, um auf die Systemvorgabe zurückzusetzen.

Weitere Details finden Sie in der neuesten Kernel-Dokumentation:

    https://kernel.org/doc/html/latest/scheduler/sched-util-clamp.html

OPTIONEN

-m
    Legt den Wert für util_min fest.

-M
    Legt den Wert für util_max fest.

-a, --all-tasks
    setzt oder ermittelt die Leistungsklammerung aller Tasks (Threads) für eine gegebene Prozesskennung (PID).

-p, --pid
    verwendet eine vorhandene Prozesskennung (PID), anstatt einen neuen Prozess zu starten.

-s, --system
    setzt oder ermittelt die systemweiten Leistungsklammerungs-Attribute.

-R, --reset-on-fork
    Setzt den Schalter SCHED_FLAG_RESET_ON_FORK.

-v, --verbose
    zeigt Statusinformationen an.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

VERWENDUNG

Das Standardverhalten ist die Ausführung eines neuen Befehls:
    uclampset [-m uclamp_min] [-M uclamp_max] command [arguments]

Sie können auch die Leistungsklammerungs-Attribute eines existierenden Prozesses ermitteln:
    uclampset -p PID

Oder sie festlegen:
    uclampset -p PID [-m uclamp_min] [-M uclamp_max]

Oder die systemweiten Attribute steuern:
    uclampset -s [-m uclamp_min] [-M uclamp_max]

ZUGRIFFSRECHTE

Ein Benutzer muss über CAP_SYS_NICE verfügen, um die Scheduling-Attribute eines Prozesses zu ändern. Die Ermittlung der Scheduling-Attribute ist allen Benutzern erlaubt.

ANMERKUNGEN

Die systemweiten Leistungsklammerung-Attribute dienen der Steuerung des erlaubten Bereichs, den eine Task verwenden darf. Standardmäßig sind sowohl uclamp_min als auch uclamp_max auf 1024 gesetzt. Das bedeutet, dass Benutzer die Leistungsklammerungs-Werte für deren Tasks innerhalb des vollen Bereichs [0:1024] setzen können.

Zum Beispiel:
    uclampset -s -m 512 -M 700

hindert eine Task daran, die Leistung auf über 512 zu erhöhen. Alle Tasks in einem System sind auf eine Leistung von 700 begrenzt. Effektiv ergibt sich dadurch eine System-Performance von 700.

Schauen Sie in der Kerneldokumentation nach, welches genaue Verhalten mit diesem Kernel zu erwarten wäre.

AUTOREN

SIEHE AUCH

nice(1), renice(1), taskset(1), sched(7)

In sched_setscheduler(2) und sched_setattr(2) finden Sie eine Beschreibung des Scheduling-Schemas in Linux.

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf

VERFÜGBARKEIT

Der Befehl uclampset ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.