On Ubuntu, my /etc/defaults/tomcat8
changed from:
JAVA_OPTS="-Djava.awt.headless=true -Xmx512m -XX:MaxPermSize=196m -XX:+UseParallelGC -XX:MaxGCPauseMillis=100 -Dfile.encoding=utf-8"
To:
JAVA_OPTS="-server -Xms800m -Xmx1600m -XX:MaxPermSize=222m -Dfile.encoding=utf-8 -Djava.awt.headless=true -XX:+UseParallelGC -XX:MaxGCPauseMillis=100
Those changes seem to have been the difference between crashing / hanging all the time and not. So, relatively important changes.