2016-06-28 15 views
1

Ich muss eine .jar ausführen und ich muss ulimit vor dieser Ausführung verwenden. So habe ich ein Shell-Skript:Ulimit funktioniert nicht in der Shell

#!/bin/sh 
ulimit -S -c unlimited 
/usr/java/jre1.8.0_91/bin/java -jar /home/update.jar 

Aber die ulimit scheint ignoriert zu werden, weil ich diesen Fehler haben:

java.lang.InternalError: java.io.FileNotFoundException: /usr/java/jre1.8.0_91/lib/ext/localedata.jar (Too many open files) 

Vielleicht hat jemand eine Lösung hat, bitte? Vielen Dank

Antwort

1

Wenn Sie die maximal geöffneten Dateien ändern möchten, müssen Sie ulimit -n verwenden.

Beispiel:

# ulimit -n 8192

Die Option -c wird, um die Kerndateigröße zu ändern (Core-Dumps), nicht die maximalen geöffneten Dateien.

Sie müssen das ulimit auf die Shell anwenden, die die Java-Anwendung aufruft.

+0

Also schreibe ich "# ulimit -n 8192" anstelle von "ulimit -S -c unlimited"? – Mathilde

+0

Ohne die #. Schreibe: 'ulimit -n 8192' für maximal 8192 offene Dateien. – pah

+0

Ok, ich werde es versuchen, danke! – Mathilde