2016-08-05 61 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

相關問題