JMeter Ubuntu:java.net.SocketException:打开的文件太多



一旦用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:打开的文件太多。

最新更新