01/06/01 01:58
rootユーザーの場合はulimitコマンドで設定することが可能。
一般ユーザーは設定できない。一般ユーザの最大プロセス数を変更したい場合は
2.2系では最大値はtask.hで
#define MAX_TASKS_PER_USER (NR_TASKS/2)
と定義されてるからここを適当にかえて再構築。
2.4系では>>102で書いたようにfork_initの中で物理メモリの搭載量をもとに
max_threadsが計算され、その半分に設定されている。
変更したい場合は物理メモリの搭載量をかえましょう。
どうしてもメモリをそのままでプロセス数だけ変更したい場合はfork.cのfork_initの
init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;
init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads/2;
のmax_threads/2を適当な値に変えて再構築しましょう。