Pobierz i ustaw liczbę wątków maksymalnych w Linux

Pobierz i ustaw liczbę wątków maksymalnych w Linux
„Termin„ proces ”odnosi się do aktualnie działającego programu, podczas gdy„ wątek ”odnosi się do lekkiego procesu. Gdy wiele wątków wykonuje się w programie, udostępniając tę ​​samą pamięć, nazywa się on. W procesie wielowa, możesz uruchomić wiele wątków jednocześnie, ponieważ celem jest zwiększenie wydajności.

Istnieje limit liczby wątków w Linux dla skutecznej wydajności. Ustawienie parametru jądra wątków-Max zapewnia, że ​​liczba wątków na proces pozostaje na tym limicie lub poniżej. Jeśli chcesz również wiedzieć, jak ustawić liczbę wątków maksymalnych, przeczytaj nasz przewodnik. W tym przewodniku wyjaśnimy, jak zdobyć i ustawić liczbę wątków maksymalnych w Linux."

Pobierz i ustaw liczbę wątków maksymalnych w Linux

Podzielmy tę sekcję na dwie części; Pierwszym z nich jest uzyskanie liczby wątków, a drugim jest ustawienie liczby wątków maksymalnych.

Uzyskaj maksymalną liczbę wątków

Możesz kontrolować maksymalną liczbę wątków za pomocą Parametr jądra-max. „FILL/PROC/SYS/KERLEL/THERMS-MAX” określa ten parametr.

Korzystając z polecenia „CAT”, możesz wyświetlić ten plik.

cat/proc/sys/jądro/wątek-Max

Tutaj wyjście 45444 pokazuje maksymalnie 45444 wątków, które jądro może wykonać.

Możesz także sprawdzić wartość wątków-Max za pomocą polecenia „SysCtl”.

sudo sysctl -a | Grep Threads-Max

Ponadto, „Vm.max_map_count ” I "jądro.PID_MAX”Określ dwa dodatkowe limity. Limity te zapobiegają również tworzeniu nowych wątków podczas wysokiego obciążenia.

Określa maksymalną liczbę, z jaką PIDS będą owijać.

cat/proc/sys/jądro/pid_max

Oto maksymalna wartość jądra.Wartość PID_MAX to 4194304. Oznacza to, że jądro może wykonywać maksymalnie 4194304 procesów jednocześnie.

Proces może mieć tylko pewną liczbę obszarów pamięci wirtualnej (VMA) w ramach „Max_map_count” parametr.

cat/proc/sys/vm/max_map_count

Regiony mapowane w pamięć proces są wyrażone na powyższym wyjściu.

Wątek i proces działają podobnie w jądrze Linux. Dlatego wartość ograniczająca liczbę procesów również pośrednio ogranicza liczbę wątków. Z tego powodu jądro.PID_MAX musi być większy niż całkowita liczba procesów i wątków razem.

Wiele wątków zużywa więcej pamięci do pracy na serwerze. „Vm.max_map_count ” Ogranicza liczbę wątków i pamięć wirtualną dla osób potrzebujących tej pamięci, aby ustawić swój prywatny stos.

Kolejnym limitem systemów systemowych jest „Cgroup PIDS.Max " parametr, który domyślnie wynosi 12 288. Czasami ten domyślny limit zasobów może być zbyt restrykcyjny lub niewystarczający.

Alternatywnie może być przydatne dokonywanie określonych dostosowań do niektórych ustawień TASKSMAX SystemD. „UsertaskSmax” Parametr zastępuje domyślny limit w sekcji [login]/etc/systemd/logind.conf.

grep -i "^UsertaskSmax"/etc/systemd/logind.conf

Podobnie jak systemd wymusza granice wątków dla programów działających ze skorupy logowania, robi to samo.

Ustaw maksymalną liczbę wątków

Do tej pory przyjrzeliśmy się maksymalnej liczbie wątków różnych parametrów i teraz zobaczymy, jak ustawić te maksymalne wątki. Dostępne są różne opcje ustawiania maksymalnej liczby wątków na proces. Numer wątku jest ustawiony tutaj dla określonego procesu.

Korzystając z następującego polecenia, możesz tymczasowo ustawić parametr jądra Threads-Max w czasie wykonywania.

sudo/bin/su -c "echo 150000>/proc/sys/jądro/wątek -Max"

Możesz także ustawić parametr jądra wątków na stałe, dodając jądro.Wątki-MAX = do /etc /sysctl.plik CONF.

jądro sudo /bin /su -c "sysctl -w.Wątki-MAX = 170000 >> /etc /sysctl.konf ”

Teraz ustawiamy parametr PID_max na 200000. Oznacza to, że jądro może jednocześnie wykonać do 200 000 procesów.

sudo/bin/su -c "echo 200000>/proc/sys/jądro/pid_max"

Podaj także maksymalną liczbę VMA lub obszarów pamięci wirtualnej, które proces może posiadać z parametrem „Max_Map_Count”.

sudo/bin/su -c "echo 600000>/proc/sys/vm/max_map_count"

Dla wszystkich użytkowników „UsertaskSmax” ustawia limit wątku i określa ustawienie TASKMAX w systemach SystemD.

sed -i "s/^UsertaskSmax/#UsertaskSmax/"/etc/Systemd/System.conf
echo "usertasksmax = 60000" >>/etc/systemd/system.conf
grep -i "usertasksmax"/etc/systemd/logind.conf

Parametry systemowe ograniczają również liczbę wątków na proces, prawdopodobnie przed pamięcią i systemem operacyjnym stają się czynnikami ograniczającymi. Zwiększenie liczby wątków jest również możliwe poprzez zmniejszenie rozmiaru stosu na nitkę.

Owinięcie

W tym przewodniku wyjaśniliśmy proces wielowy lub wielowy. Następnie policzamy maksymalny limit wątków każdego procesu i dowiadujemy się o znaczeniu maksymalnej liczby wątków. Po przyjęciu wszystkich tych informacji możemy ustawić maksymalną wartość wątków.

Możesz ustawić maksymalną wartość wątków na kilka sposobów, co wyjaśniliśmy w tym przewodniku. Widząc i rozumiejąc to, możesz również ustawić maksymalne wartości swoich wątków w Linux.