2016-08-05 16 views
2

Sobald JMeter Skript mit 5000 Werten in CSV-Datei mit Synchronization Timer ausgeführt wird, Antwortdaten in View Results in Tree zeigt folgende Fehlermeldung:JMeter Ubuntu: java.net.SocketException: Zu viele offene Dateien

java.net.SocketException: Too many open files

I Konnte die befriedigende Antwort noch auf Google nicht finden.

Gibt es eine Möglichkeit, dies zu beheben?

+0

Öffnen Sie diese Datei 5000 mal? Das ist ein schlechter Ansatz. Sie können Ihre Werte nur einmal laden und einige Beanshell-Logik erstellen, um diese Werte zu verwenden, wie Sie benötigen ... –

+0

Nein, nur einmal. CSV enthält 5000 E-Mail-Werte. – Anonymous

Antwort

2

Erhöhen Sie die Anzahl der geöffneten Dateihandles oder Dateideskriptoren pro Prozess.

Sie können den Befehl ulimit -a verwenden, um herauszufinden, wie viele offene Dateizugriffsnummern pro Prozess zulässig sind.

$ 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 

Sie können sehen, dass, offene Dateien (-n) 1024, die nur 1024 offene Datei bedeutet Griffe pro Prozess zulässig ist. Wenn Ihr Java-Programm dieses Limit überschreitet, wird Fehler ausgelöst.

Siehe diese Themen I/O exception (java.net.SocketException) und java.net.SocketException: Too many open files.

+0

Ich habe Root verwendet, um mich anzumelden und diese Befehle auszuführen. Aber als ich zu einem anderen normalen Benutzer wechselte, fand ich, dass die Nummer der offenen Dateien der ursprüngliche Wert war. Kann ich die Anzahl der geöffneten Dateihandles für alle Benutzer konfigurieren? – niaomingjian

Verwandte Themen