Berapa kisaran PID di Linux dan Solaris?

12

Berapa nilai maksimum dan minimum untuk PID (ID Proses) di Linux dan Solaris?

Graeme
sumber

Jawaban:

13

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

Untuk mendapatkan nilai PID maks yang dapat ditetapkan untuk proses Linux, jalankan perintah berikut:

cat /proc/sys/kernel/pid_max

Pada sebagian besar mesin Linux, hasilnya adalah 32768 (= 2 15 ).

Namun, itu dapat diatur ke nilai apa pun hingga 4194304 (= 22 ) jika perlu. Server mungkin memiliki batas lebih besar untuk menghindari tabrakan PID, misalnya.

Tomasz Kowalczyk
sumber
15

Anda telah, dan menerima, jawaban Linux. Pada Solaris, nilai maksimum ID proses adalah parameter kernel yang dapat dirubah - pidmaxin /etc/system- yang default menjadi 30.000 dan yang dapat diatur di mana saja antara 266 dan 999.999. Perhatikan bahwa ini bukan max_nprocs, yang merupakan parameter kernel yang bisa diubah dengan fungsi yang agak berbeda.

JdeBP
sumber
Anda menyebutkan itu max_nprocsberbeda, apa bedanya?
meraba
1
@ fledgling max_nprocsmembatasi jumlah proses bersamaan, terlepas dari apakah ada pids yang tidak digunakan tersedia atau tidak.
jlliagre
2

Minimum adalah 1 dan biasanya maksimum adalah 2 ^ 15


sumber
... kecuali pada Solaris, seperti pada pertanyaan, di mana tidak.
JdeBP
PID minimum sebenarnya 0, yaitu kernel yang sebenarnya bukan proses ...
jlliagre
apakah kernel mendapatkan PID?
Giovanni Tirloni
Tidak perlu satu tetapi diberikan pid 0. Di Linux, saya kira itu hanya ditampilkan sebagai PPID tetapi di bawah Solaris, pasti ada entri / proc / 0 dan proses laporan ps 0 sebagai "sched".
jlliagre
@jlliagre ubuntu tidak memiliki /proc/0keduanyaps -p 0 bekerja :), bagaimanapun, sebagai initializer pid variabel, yang terbaik tampaknya-1
Aquarius Daya