2016-08-05 42 views
2

一旦CSV文件,5000个值JMeter的脚本与Synchronization Timer执行,以下错误View Results in Tree显示响应数据:JMeter的Ubuntu的:java.net.SocketException异常:打开的文件太多

java.net.SocketException: Too many open files

我在google上找不到满意的答案。

有什么办法可以解决这个问题吗?

+0

你打开该文件5000次?这是不好的方法。你可以只加载一次你的值,并创建一些Beanshell逻辑来使用该值,因为你需要... –

+0

不,只是一次。 CSV包含5000个电子邮件值。 – Anonymous

回答

2

增加每个进程打开文件句柄或文件描述符的数量。

您可以使用命令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

+0

我用root登录并执行这些命令。但是当我切换到其他普通用户时,我发现打开的文件编号是原始值。我可以为所有用户配置打开文件句柄的数量吗? – niaomingjian

相关问题