一旦CSV文件,5000个值JMeter的脚本与Synchronization Timer
执行,以下错误View Results in Tree
显示响应数据:JMeter的Ubuntu的:java.net.SocketException异常:打开的文件太多
java.net.SocketException: Too many open files
我在google上找不到满意的答案。
有什么办法可以解决这个问题吗?
一旦CSV文件,5000个值JMeter的脚本与Synchronization Timer
执行,以下错误View Results in Tree
显示响应数据:JMeter的Ubuntu的:java.net.SocketException异常:打开的文件太多
java.net.SocketException: Too many open files
我在google上找不到满意的答案。
有什么办法可以解决这个问题吗?
增加每个进程打开文件句柄或文件描述符的数量。
您可以使用命令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 exception (java.net.SocketException)和java.net.SocketException: Too many open files。
我用root登录并执行这些命令。但是当我切换到其他普通用户时,我发现打开的文件编号是原始值。我可以为所有用户配置打开文件句柄的数量吗? – niaomingjian
你打开该文件5000次?这是不好的方法。你可以只加载一次你的值,并创建一些Beanshell逻辑来使用该值,因为你需要... –
不,只是一次。 CSV包含5000个电子邮件值。 – Anonymous