Nowy01 Napisano Kwiecień 21, 2022 Zgłoszenie Share Napisano Kwiecień 21, 2022 Hej, z góry przepraszam jeśli piszę w złym dziale. Celem poniższych operacji będzie ustawienie domyślnych wartości limitów liczby uruchamianych procesów, wartości priorytetu statycznego i priorytetu nice dla konkretnego użytkownika (nie działa mi to ostatnie). Reguły tworzone w /etc/security/limits.conf . [root@fedora ttyid:0 czw kwi 21 19:12:24 adam]# cat /etc/security/limits.conf | tail -4 adam - nproc 1400 adam - rtprio 4 adam - nice 14 # End of file [root@fedora ttyid:0 czw kwi 21 19:12:28 adam]# reboot Po wyłączeniu i włączeniu wszystkie reguły działają poza tą dla nice: [adam@fedora ttyid:0 czw kwi 21 19:59:41 root]$ prlimit -e RESOURCE DESCRIPTION SOFT HARD UNITS NICE maksymalne dozwolone nice 6 6 [adam@fedora ttyid:0 czw kwi 21 19:59:43 root]$ prlimit -r RESOURCE DESCRIPTION SOFT HARD UNITS RTPRIO maksymalny priorytet real-time 4 4 [adam@fedora ttyid:0 czw kwi 21 19:59:47 root]$ prlimit -u RESOURCE DESCRIPTION SOFT HARD UNITS NPROC maksymalna liczba procesów 1400 1400 procesy Próbowałem już na wiele sposobów to poprawić, dodać kilka regół z rozdzieleniem na soft i hard, zrobić to jeszcze raz od początku dla innego użytkownika etc etc, patrzyłem też kilka wątków w internecie np: https://unix.stackexchange.com/questions/8983/set-default-nice-value-for-a-given-user-limits-conf https://www.thegeekdiary.com/understanding-etc-security-limits-conf-file-to-set-ulimit/ https://unix.stackexchange.com/questions/8983/set-default-nice-value-for-a-given-user-limits-conf I pełno innych ale nie potrafię tego poprawić, dziwi mnie to, że tylko jedna z tych reguł ma losowe wartości, a reszta zachowuje się poprawnie. Jakieś sugestie? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio Napisano Kwiecień 21, 2022 Zgłoszenie Share Napisano Kwiecień 21, 2022 Domyślne nice dla danego użytkownika utworzysz w ten sposób: user - priority 34 Procesy użytkownika wówczas powinny domyślnie uruchamiać się z nice 14. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Nowy01 Napisano Kwiecień 21, 2022 Autor Zgłoszenie Share Napisano Kwiecień 21, 2022 Próbowałem to już, jednak zrobiłem dla liczb które podałeś. Gdy daję priority 34 to po reboocie dla prlimit -e mam wartości 0 w soft i hard. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@sunrise Napisano Kwiecień 22, 2022 Zgłoszenie Share Napisano Kwiecień 22, 2022 @Nowy01 Wszystko działa prawidłowo tylko, to nie działa tak jak Ci się wydaje Nice może być z zakresu -20 do 19, gdzie -20 to najwyższy priorytet a 19 to najniższy. (jest 40 poziomów) Zamiast zmieniać plik /etc/security/limits.conf lepiej utworzyć oddzielny plik w katalogu /etc/security/limits.d/ np. /etc/security/limits.d/00-nowy01-limits.conf i w tym pliku dodawać swoje zmiany. W nim ustawiamy maksymalny limit np. ty ustawiłeś 14. Polecenie prlimit -e wyświetla, ile mamy dostępnych poziomów nice od najniższego priorytetu, włącznie z nim ( o ile możemy podnieść nice od najniższego poziomu -1 , bo 0 oznacza, że nie możemy zmniejszać ), a nie jak sugeruje polskie tłumaczenie "maksymalne dozwolone nice" $ LANG=C prlimit -e RESOURCE DESCRIPTION SOFT HARD UNITS NICE max nice prio allowed to raise 6 6 Jeżeli chcesz, aby domyślnie twoje procesy były uruchomione z nice równym 14 to musisz zastosować tak jak podał @tomcio wpis z priority, ale tu ważna uwaga, bo kolego popełnił drobny błąd. Nie 34 a 14 ponieważ PRIORYTET = NICE + 20, a nice domyślnie jest 0. NICE i PRIORITY jest ze sobą powiązany jak widać. Przykład: nice -20 priority 19 prlimit zwraca RESOURCE DESCRIPTION SOFT HARD UNITS NICE max nice prio allowed to raise 40 40 To oznacza, że nasze procesy uruchomione będą z NICE 19 i PRIO 39 i jest dostępnych 40 poziomów NICE i maksymalnie możemy podnieść NICE do -20 Natomiast jeżeli nice 19 priority 19 prlimit zwróci RESOURCE DESCRIPTION SOFT HARD UNITS NICE max nice prio allowed to raise 1 1 To oznacza, że nasze procesy uruchomione będą z NICE 19 i PRIO 39 i jest dostępnych 1 poziom NICE (19) i maksymalnie możemy podnieść NICE do 19 przy nice 18 priority 19 prlimit zwróci RESOURCE DESCRIPTION SOFT HARD UNITS NICE max nice prio allowed to raise 2 2 To oznacza, że nasze procesy uruchomione będą z NICE 19 i PRIO 39 i są dostępne 2 poziomy NICE (18 i 19) i maksymalnie możemy podnieść NICE do 18 Mam nadzieję , że nic nie pokręciłem i jest to w miarę jasne. 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio Napisano Kwiecień 22, 2022 Zgłoszenie Share Napisano Kwiecień 22, 2022 16 minut temu, sunrise napisał: kolego popełnił drobny błąd. Nie 34 a 14 ponieważ PRIORYTET = NICE + 20, a nice domyślnie jest 0. Już miałem pisać sprostowanie. Pomyliło mi się z priority widocznym w top - tam to jest wyświetlane jako nice + 20. Czasem łatwo jest się pogubić w tych wszystkich cyferkach. @sunrise świetnie wytłumaczyłeś. Ja bym tak nie potrafił. 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Nowy01 Napisano Kwiecień 22, 2022 Autor Zgłoszenie Share Napisano Kwiecień 22, 2022 @sunrise bardzo dobrze wytłumaczone, fajnie również że pokazałeś błąd w tłumaczeniu, nie podejrzewałem czegoś takiego @tomcioTobie również dzięki za zainteresowanie tematem Podsumowując już wszystko śmiga, wielkie dzięki za pomoc Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@sunrise Napisano Kwiecień 22, 2022 Zgłoszenie Share Napisano Kwiecień 22, 2022 39 minut temu, Nowy01 napisał: fajnie również że pokazałeś błąd w tłumaczeniu, nie podejrzewałem czegoś takiego Czasem zdarzają się takie kwiatki, najgorzej bo oryginalny komunikat też według mnie nie jest najszczęśliwszy. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się