macでApache Benchで「socket: Too many open files (24)」エラー

サクッと負荷がかけられるApache Benchをmacから実行したらエラーが出たのでその辺を記述します。

まずは環境です。
MacbookPro OS X Yosemite 10.10.3 ※2015/5/29現在で最新

Apache Benchを実行すると「socket: Too many open files (24)」とエラー。

[code]
$ ab -n 500 -c 500 http://****.com//.php
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking ****.com (be patient)
socket: Too many open files (24)
[/code]

システムリソースの上限を設定できるulimitコマンドが鍵のようです。

[code]
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256 ←コレ
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
[/code]

open filesをとりあえず1000に設定
[code]
$ ulimit -n 1000
[/code]

確認
[code]
$ ulimit -n
1000
[/code]

注意。(これが一番書きたかったこと)

mac Yosemiteだとターミナル立ち上げて1回目は設定できるのですが、なぜか2回目以降は設定値より小さい値しか設定できません。

[code]
$ ulimit -n 1
$ ulimit -n
1
$ ulimit -n 100
-bash: ulimit: open files: cannot modify limit: Operation not permitted
[/code]

上記のように1なんて設定したらもとに戻せません。ただ、その場合は新しいターミナルを起動しなおせば再設定できます。
ulimitはログインShellにひも付けられる設定値ということですね。
しかし、2回目から設定できないのは謎。