我必须执行一个.jar,在执行之前我需要使用ulimit,所以我编写了一个shell脚本:
#!/bin/sh
ulimit -S -c unlimited
/usr/java/jre1.8.0_91/bin/java -jar /home/update.jar
但是ulimit似乎被忽略了,因为我有一个错误:
java.lang.internalerror:java.io.filenotfoundexception:/usr/java/jre1.8.0_91/lib/ext/localedata.jar(打开的文件太多)
最佳答案
如果要更改最大打开的文件,则需要使用ulimit -n
。
例子:
ulimit -n 8192
-c
选项正在更改核心文件大小(核心转储),而不是最大打开文件。您需要将ulimit应用到将调用java应用程序的shell。
关于linux - 为什么在 shell 程序中忽略了我的ulimit设置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38070989/