Odpowiedzi:
W nowszych jądrach (2.6.32+) w CentOS / RHEL możesz to zmienić w czasie wykonywania za pomocą / proc / <pid> / limit:
cd /proc/7671/
[root@host 7671]# cat limits | grep nice
Max nice priority 0 0
[root@host 7671]# echo -n "Max nice priority=5:6" > limits
[root@host 7671]# cat limits | grep nice
Max nice priority 5 6
Jak tu udokumentowano , prlimit
polecenie wprowadzone w util-linux 2.21 pozwala na odczyt i zmianę limitów uruchomionych procesów.
Jest to kontynuacja zapisu /proc/<pid>/limits
, który nie został zintegrowany z jądrem głównym. To rozwiązanie powinno działać.
Jeśli jeszcze tego nie masz prlimit(1)
, możesz znaleźć kod w minimalistycznej wersji na stronie prlimit(2)
podręcznika .
W nowszej wersji util-linux-ng możesz użyć polecenia prlimit, aby uzyskać więcej informacji, przeczytaj ten link /superuser/404239/setting-ulimit-on-a-running-process
Możesz wypróbować ulimit man ulimit
z opcją -n, jednak strona mag nie obsługuje większości systemów operacyjnych, nie zezwala na to.
Możesz ustawić limit opisów plików dla całego systemu za pomocą sysctl -w fs.file-max=N
i sprawić, że zmiany będą się utrzymywać po uruchomieniu/etc/sysctl.conf
Sugerowałbym jednak również przyjrzenie się temu procesowi, aby zobaczyć, czy naprawdę musi on mieć tyle otwartych plików w danym momencie i czy w rzeczywistości można zamknąć niektóre pliki i zwiększyć wydajność procesu.
ulimit
nie stosuje ustawień do uruchomionych procesów .