Jaki jest zasięg PID w systemach Linux i Solaris?


12

Jaka jest maksymalna i minimalna wartość PID (ID procesu) w systemach Linux i Solaris?

Odpowiedzi:


13

From http://www.alexxoid.com/blog/linux/getting-the-max-pid-value-for-linux-process.html :

Aby uzyskać maksymalną wartość PID, którą można przypisać procesowi Linux, uruchom następującą komendę:

cat /proc/sys/kernel/pid_max

Na większości komputerów z systemem Linux wynik to 32768 (= 2 15 ).

Jednakże, może być ustawiona na dowolną wartość, aż do 4194304 (= 2, 22 ), jeżeli jest to konieczne. Na przykład serwery mogą mieć większy limit, aby uniknąć kolizji PID.


15

Masz i zaakceptowałeś odpowiedź Linuksa. Solaris, wartość maksymalna z ID procesu jest parametrem przestrajanie jądra - pidmaxw /etc/system- że domyślnie 30000, które można ustawić w dowolnym miejscu pomiędzy 266 a 999.999. Zauważ, że nie max_nprocsjest to parametr dostrajany przez jądro z subtelnie inną funkcją.


Wspomniałeś, że max_nprocsjest inaczej, jaka jest różnica?
sfledgling

1
@ffledgling max_nprocsogranicza liczbę jednoczesnych procesów, niezależnie od tego, czy nieużywane pidy są dostępne, czy nie.
jlliagre

2

Minimum to 1, a zwykle maksimum to 2 ^ 15


... z wyjątkiem Solaris, jak w pytaniu, gdzie go nie ma.
JdeBP

Minimalny PID to w rzeczywistości 0, tzn. Jądro, które tak naprawdę nie jest procesem ...
jlliagre

czy jądro otrzymuje PID?
Giovanni Tirloni,

Nie potrzebuje go, ale otrzymuje pid 0. Pod Linuksem wydaje mi się, że jest pokazany tylko jako PPID, ale w Solarisie zdecydowanie jest wpis / proc / 0, a raporty ps przetwarzają 0 jako „harmonogram”.
jlliagre

@jlliagre ubuntu nie ma żadnego z nich /proc/0nie ps -p 0działa :), zresztą jako zmienny inicjator pid najlepiej wydaje się być-1
Aquarius Power
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.