UCLAMPSET(1) Polecenia użytkownika UCLAMPSET(1)

uclampset - modyfikuje atrybuty blokowania obciążenia systemu lub procesu

uclampset [opcje] [-m minimum] [-M maksimum] -p PID

uclampset [opcje] [-m minimum] [-M maksimum] polecenie [argument...]

uclampset ustawia lub pobiera atrybuty blokowania obciążenia istniejącego PID lub uruchamia polecenie z podanymi atrybutami.

Blokowanie obciążenia jest nową funkcją dodaną w v5.3. Jest wskazówką skierowaną do dyspozytora o dozwolonym przedziale obciążenia, w jakim powinno działać zadanie.

Obciążenie zadania wpływa na wybór częstotliwości i rozmieszczenie zadania. W momencie tworzenia niniejszego podręcznika jedynie zarządca cpufreq schedutil rozumiał wskazówki blokowania obciążenia. Proszę sprawdzić dokumentację swojego jądra, aby dowiedzieć się więcej o obsłudze przez innych zarządców cpufreq.

Jeśli działa się na asynchronicznym i niejednolitym systemie takim jak big.LITTLE od Arm, blokowanie obciążenia może poprawić rozmieszczanie zadań. Jeśli zadanie zostanie wypromowane tak, że wartość util_min będzie wyższa od możliwości pomniejszych rdzeni, dyspozytor postara się umieścić je na większym rdzeniu.

Podobnie, jeśli util_max będzie mniejsza lub równa możliwości pomniejszych rdzeni, to dyspozytor może je wciąż tam umieścić nawet, gdy faktyczne obciążenie zadania jest maksymalne.

Ustawienie uclamp_min zadania na wartość niezerową, efektywnie wypromuje zadanie tak, że gdy będzie uruchomione, zawsze rozpocznie od tej wartości obciążenia.

Ustawiając uclamp_max zadania poniżej 1024, efektywnie nałoży się ograniczenie na nie tak, że gdy będzie uruchomione, nie będzie w stanie przekroczyć tej wartości obciążenia.

Pełny przedział obciążenia wynosi: [0:1024]. Wartość specjalna -1 służy do resetowania do systemowej wartości domyślnej.

Więcej szczegółów w najnowszej dokumentacji jądra:

-m

Ustawia wartość util_min.

-M

Ustawia wartość util_max.

-a, --all-tasks

Ustawia lub pobiera atrybuty blokowania obciążenia wszystkich zadań (wątków) podanego PID-u.

-p, --pid

Działa na istniejącym PID i nie uruchamia nowego zadania.

-s, --system

Ustawia lub pobiera systemowe atrybuty blokowania obciążenia.

-R, --reset-on-fork

Ustawia znacznik SCHED_FLAG_RESET_ON_FORK.

-v, --verbose

Pokazuje informacje o stanie.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

Domyślnym zachowaniem jest uruchomienie nowego polecenia:

uclampset [-m uclamp_min] [-M uclamp_max] polecenie [argumenty]

Można też pobrać atrybuty blokowania obciążenia istniejącego zadania:

uclampset -p PID

Albo je ustawić:

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

Albo kontrolować atrybuty w całym systemie:

uclampset -s [-m uclamp_min] [-M uclamp_max]

Użytkownik musi posiadać przywilej CAP_SYS_NICE aby zmieniać atrybuty szeregowania procesu. Każdy użytkownik może pobrać informacje dotyczące szeregowania.

Systemowe atrybuty blokowania obciążenia służą do kontroli dozwolonego przedziału, jakiego mogą używać zadania. Domyślnie uclamp_min i uclamp_max są ustawione na 1024. Oznacza to, że użytkownicy mogą ustawić wartości blokowania obciążenia swoich zadań w pełnym zakresie [0:1024].

Na przykład:

uclampset -s -m 512 -M 700

uniemożliwi wypromowanie jakiegokolwiek zadania na wartość wyższą niż 512. Ponadto wszystkie zadania w systemie są ograniczane do obciążenia równego 700. Efektywnie ogranicza to maksymalną wydajność systemu do 700.

Proszę sprawdzić dokumentację swojego jądra, aby poznać dokładne oczekiwane zachowanie na tym jądrze.

Qais Yousef <qyousef@layalina.io>

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

Schemat szeregowania zadań w Linuksie opisano w podręczniku sched_setscheduler(2) i sched_setattr(2)

Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.

Polecenie uclampset jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-02 util-linux 2.42.3