システムプログラミングのテスト時に覚えた知識。
linuxはプロセスを一意にするためにpidという値を使用している。この値はデフォルトで32768となっているが軽量プロセスを大量生成したりプロセス数が最大値じにforkした後の動作を確認するときに使えるカーネルパラメータ
システム全体でのスレッド数の上限
システム全体でカーネルが一度に使用できるスレッドの最大数を定義する。
デフォルト値はちょっと複雑な計算をしている (mempages / (8 * THREAD_SIZE / PAGE SIZE ))
ただしこの値意外にもユーザごとにulimitsなんかも効いてくるので注意 (ulimit -uとかでユーザあたりのプロセス数を確認できる)
/proc/sys/kernel/threads-max
プロセス番号の最大値
64bitサーバなら最大値は4M程度まで伸ばせるらしい。デフォルトは32768
/proc/sys/kernel/pid_max
参考
7.5. システムメモリー容量の設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal