Question

I'm trying to set some variables in my shell script for the JVM but I keep getting "Command not found" errors mainly on the -Xms1024m options (see below).

Syntactically how would I set these.

They currently look like this:

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
Was it helpful?

Solution

Always quote strings containing spaces:

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"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top