Java AIX-无法创建VM线程。系统外资源
我们有一个批处理作业,可以在Java6上顺利运行。但是,我试图将其更新为Java8,但抛出了下面的错误 初始化VM时出错,无法创建VM线程 系统外资源 下面是批处理作业的一个片段Java AIX-无法创建VM线程。系统外资源,java,bash,unix,heap-memory,aix,Java,Bash,Unix,Heap Memory,Aix,我们有一个批处理作业,可以在Java6上顺利运行。但是,我试图将其更新为Java8,但抛出了下面的错误 初始化VM时出错,无法创建VM线程 系统外资源 下面是批处理作业的一个片段 execute $JAVA_HOME/bin/java -Xmx2500m -classpath $CLASSPATH org.springframework.batch.core.launch.support.CommandLineJobRunner app-context/main-context.xml 我使用
execute $JAVA_HOME/bin/java -Xmx2500m -classpath $CLASSPATH org.springframework.batch.core.launch.support.CommandLineJobRunner app-context/main-context.xml
我使用的机器是Unix AIX
$uname -a
AIX <servername> 2 7 00CBE6574C00
我认为这可能是堆大小的问题,所以我使用了从-Xmx64m到-Xmx5000m的最大堆大小。但是,错误仍然存在
以下是系统电流限制:
$ulimit -a
core file size (blocks, -c) 1048575
data seg size (kbytes, -d) 131072
file size (blocks, -f) unlimited
max memory size (kbytes, -m) 32768
open files (-n) 40961
pipe size (512 bytes, -p) 64
stack size (kbytes, -s) 32768
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
我是unix新手。任何帮助都将不胜感激。谢谢。您要求的虚拟机具有2.5G堆空间(-Xmx2500m),但您只允许32M内存(最大内存大小32786kb=32MB)
尝试将最大内存增加到(至少)2.6G。您将需要比您为堆指定的稍多一些的资源来适应VM固定成本。再次尝试更新java应用程序。这肯定会奏效的。或者增加内存VRA谢谢,Dash。但是,我不认为这是问题所在,因为它在Java6上使用了最大内存为32786kb的-Xmx2500m,运行非常平稳。除了升级到Java 8之外,没有任何环境变化。请使用更大的
ulimit
值进行尝试:新程序比旧程序消耗更多内存已不是什么秘密。
$ulimit -a
core file size (blocks, -c) 1048575
data seg size (kbytes, -d) 131072
file size (blocks, -f) unlimited
max memory size (kbytes, -m) 32768
open files (-n) 40961
pipe size (512 bytes, -p) 64
stack size (kbytes, -s) 32768
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited