茨城県つくばみらい市から来ました

プログラマーになるために生きています

httpdをたくさん起動する

RHEL4でhttpdが256プロセスまでしか上がらないとか。
原因を調べたいのでCentOSでテストしてみる。

[motchang@youpandora ~]$ cat /etc/redhat-release
CentOS release 4.8 (Final)
[motchang@youpandora ~]$ uname -a
Linux youpandora.motchang.myhome.cx 2.6.9-89.0.11.EL #1 Tue Sep 15 06:58:11 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

max user processesを確認ン〜。

[motchang@youpandora ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 16370
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

max user processesの値が最初から大きい。フェドーラは1024だったのに。


StartServers         2048
MinSpareServers      5
MaxSpareServers      20
ServerLimit          2048
MaxClients           2048
MaxRequestsPerChild  4000

この設定が妥当ではない。
プロセスを大量に上げたいだけなので。

/etc/init.d/httpd start

topの表示がこんなん

top - 15:45:25 up 8 min,  1 user,  load average: 0.68, 0.25, 0.13
Tasks: 2092 total,   1 running, 2090 sleeping,   0 stopped,   1 zombie
Cpu(s):  2.9% us,  2.6% sy,  0.0% ni, 94.5% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   2057360k total,  1182148k used,   875212k free,    10952k buffers
Swap:  2096472k total,        0k used,  2096472k free,    64672k cached

あ、スワップアウトしすぎてマシンに触れなくなった…。

1024プロセスにして再度チャレンジ

top - 16:02:46 up 5 min,  1 user,  load average: 0.05, 0.16, 0.09
Tasks: 1030 total,   1 running, 1028 sleeping,   0 stopped,   1 zombie
Cpu(s):  2.0% us,  2.0% sy,  0.0% ni, 96.1% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   2057360k total,   660116k used,  1397244k free,    22176k buffers
Swap:  2096472k total,        0k used,  2096472k free,    64192k cached
[root@youpandora ~]# ps -aef | grep httpd | wc -l
1026

なんだ動くじゃないか。
なんでその環境だと上がらないのだろうか。