一旦用Synchronization Timer
执行CSV文件中具有5000个值的JMeter脚本,View Results in Tree
中的响应数据显示以下错误:
java.net.SocketException: Too many open files
我在谷歌上还找不到令人满意的答案。
有什么办法解决这个问题吗?
增加每个进程打开的文件句柄或文件描述符的数量。
您可以使用命令ulimit -a
来了解每个进程允许多少个打开的文件句柄。
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 10
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 2048
virtual memory (kbytes, -v) unlimited
您可以看到,打开文件(-n)1024,这意味着每个进程只允许1024个打开文件句柄。如果您的Java程序超过这个限制,它将抛出java.net.SocketException: Too many files open
错误。
请参阅这些线程I/O异常(java.net.SocketException)和java.net.SSocketException:打开的文件太多。