在Shell脚本中设置JVM Args

时间:2013-06-12 06:36:57

标签: shell jvm-arguments

我正在尝试在我的shell脚本中为JVM设置一些变量但我仍然在-Xms1024m选项中看到“Command not found”错误(见下文)。

从语法上讲,我该如何设置它们。

他们目前看起来像这样:

jvmargs=-Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.library.path="$PALANTIR_HOME/bin" -Djava.protocol.handler.pkgs=com.palantir.protocols -Dlog4j.defaultInitOverride=true -XX:+HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=10 -XX:MaxPermSize=192m -XX:+DisableExplicitGC
server_jvmargs=-Djava.awt.headless=true -Xms1024m -Xmx1024m $jvmargs
client_jvmargs=-Xms1024m -Xmx1024m $jvmargs
client_headless_jvmargs=-Djava.awt.headless=true $client_jvmargs
dbupgrade_32_jvmargs=-Djava.awt.headless=true -Xms1280m -Xmx1280m $jvmargs
dbupgrade_64_jvmargs=-Djava.awt.headless=true -Xms2048m -Xmx2048m $jvmargs
reindex_32_jvmargs=-Djava.awt.headless=true -Xms1280m -Xmx1280m $jvmargs
reindex_64_jvmargs=-Djava.awt.headless=true -Xms2048m -Xmx2048m $jvmargs
horizon_32_jvmargs=-Djava.awt.headless=true -Xms1280m -Xmx1280m $jvmargs
horizon_64_jvmargs=-Djava.awt.headless=true -Xms2048m -Xmx2048m $jvmargs
workspace_jvmargs=-Xss320k $client_jvmargs

1 个答案:

答案 0 :(得分:3)

始终引用包含空格的字符串:

jvmargs="-Dsun.rmi.dgc.client.gcInterval=3600000 \
    -Dsun.rmi.dgc.server.gcInterval=3600000 \
    -Djava.library.path=\"$PALANTIR_HOME/bin\" \
    -Djava.protocol.handler.pkgs=com.palantir.protocols \
    -Dlog4j.defaultInitOverride=true \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:SoftRefLRUPolicyMSPerMB=10 \
    -XX:MaxPermSize=192m \
    -XX:+DisableExplicitGC"

echo "$jvmargs"