地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Linux】プロセス番号の最大値 Linux カーネルパラメータ

システムプログラミングのテスト時に覚えた知識。

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