使用JMeter测试时,当线程数超过500,就会出现 socket closed 的错误。
解决方式。
使用git bash 运行命令ulimit -a
可以看到open files等于256,也就是我运行JMeter的机器,最大文件句柄数是256。
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 2036
cpu time (seconds, -t) unlimited
max user processes (-u) 256
virtual memory (kbytes, -v) unlimited
使用命令 ulimit -n 2048
修改为2048。再使用命令ulimit -a
查看:
$ ulimit -n 2048
Administrator@KXPIR1TCDAFMGVY MINGW64 ~/Desktop
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 2036
cpu time (seconds, -t) unlimited
max user processes (-u) 256
virtual memory (kbytes, -v) unlimited