Wpis z mikrobloga

Dlaczego nie mogę zwiększyć priorytetu procesu będąc root'em?

Wydaję takie polecenie:

[root@abc1 ~]# renice 0 28423
I dostaję odpowiedź:

renice: failed to set priority for 28423 (process ID): Permission denied
Zmniejszenie priorytetu działa.

[root@abc1 ~]# sudo renice 9 28423
28423 (process ID) old priority 8, new priority 9

Nie mogę znaleźć w google odpowiedzi :(
Mam CentOS Linux release 7.6.1810 (Core)

#linux #centos
  • 7
@passage: O, nie wiedziałem o tym, dzięki. Poczytałem i wyszło mi, że muszę zmienić:
ulimit -e unlimited (scheduling priority)
i na wszelki wypadek:
ulimit -r unlimited (real-time priority)

ale niestety nadal ten sam błąd: Permission denied
Czy to ma znaczenie, że to jest VPS?

Teraz tak to wygląda:

# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) unlimited
file size (blocks, -f)
Czy to ma znaczenie, że to jest VPS?


@soma115: zapytaj providera.

Ps. jeśli musisz zmieniać priorytet aplikacji w czasie jej działania, to znaczy, że robisz to źle.
Może napisz coś więcej o problemie.

Ps2. ulimit jest per użytkownik
@passage: Tak, to taki hack trochę. Chcę zwiększyć responsywność strony na django/python. Mam jakiś super tani vps i tak sobie kombinuję. CPU nie jest specjalnie wykorzystywany, io też nie wiec jakiś potencjał do kombinowania jest.
@soma115: zapewniam Cię, że linuksowa implementacja kolejki priorytetowej w schedulerze jest na tyle "inteligentna", że takie zabawy nic nie dadzą, a mogą zaszkodzić.

Lepiej zainstalować dystrybucję tylko z potrzebnymi pakietami (arch, alpine, debian)
@soma115: na Twoim miejscu raczej rozglądałbym się za profilerem do Django, takie zabawy na ślepo raczej nic nie dadzą

@passage:

linuksowa implementacja kolejki priorytetowej w schedulerze


nie tak to działa w CFS, nie w nim ma czegoś takiego