Skip to content

Instantly share code, notes, and snippets.

@cemo
Created April 25, 2013 07:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cemo/5458061 to your computer and use it in GitHub Desktop.
Save cemo/5458061 to your computer and use it in GitHub Desktop.
# Artie - Artie Server
#
# Real-time messaging service
description "artie"
start on filesystem
stop on runlevel S
respawn
respawn limit 10 5
oom never
script
ulimit -n 1048576
exec su -s /bin/bash -c "/usr/bin/java \
$(sed -e '/^[ ]*\/\//d' -e 's|[ ]*//.*| |' -e 's|^| |' /etc/artie.jvm.conf | tr -d "\n") \
-jar /opt/artie/artie.jar \
server /etc/artie.yml \
>> /var/log/artie/sysout.log 2>&1" artie
end script
-server // make sure we're using the 64-bit server VM
-d64
-Djava.net.preferIPv4Stack=true // we don't use ipv6, so cut it out of the loop
-XX:+UseNUMA // make sure we use NUMA-specific GCs if possible
-XX:+UseCompressedOops // use 32-bit pointers to reduce heap usage
-XX:+UseParNewGC // use parallel GC for the new generation
-XX:+UseConcMarkSweepGC // use concurrent mark-and-sweep for the old generation
-XX:+CMSParallelRemarkEnabled // use multiple threads for the remark phase
-XX:+AggressiveOpts // use the latest and greatest in JVM tech
-XX:+UseFastAccessorMethods // be sure to inline simple accessor methods
-XX:+UseBiasedLocking // speed up uncontended locks
-XX:NewRatio=2 // set eden/survivor spaces to 1/3rd of heap
-Xms24G
-Xmx24G
-XX:+HeapDumpOnOutOfMemoryError // dump the heap if we run out of memory
-XX:HeapDumpPath=/opt/artie // dump the heap to /opt/artie
-XX:+PrintGC // do extended GC logging
-Xloggc:/var/log/artie/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:GCLogFileSize=20M
-XX:NumberOfGCLogFiles=15
-XX:+UseGCLogFileRotation
-XX:+PrintGCDateStamps
-XX:+PrintPromotionFailure
-Djava.security.egd=file:/dev/urandom // pull PRNG data from a non-blocking source
-Djava.rmi.server.hostname=hostname
-Dcom.sun.management.jmxremote.port=8082
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-XX:-ReduceInitialCardMarks // might prevent a SEGV error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment