Java
From Vague Hope Wiki
Profiling
-Xrunhprof:cpu=samples,file=/tmp/app-profile.txt -jar foo.jar
OpenJDK Heapdump
sudo yum install java-1.6.0-openjdk-devel sudo jmap -F -J-d64 -dump:live,format=b,file=/root/heap.bin 2232 sudo jstack -F 2232 > /root/stacks.txt
- http://linux.die.net/man/1/jmap-java-1.6.0-openjdk
- http://www.eclipse.org/mat/
- http://vault.centos.org/6.4/updates/x86_64/Packages/
Remote Debug Tomcat6
In /usr/sbin/tomcat6:
-Xdebug -Xrunjdwp:transport=dt_socket,address=62277,server=y,suspend=n
GC
- http://mechanical-sympathy.blogspot.co.uk/2013/07/java-garbage-collection-distilled.html
- http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html
sudo jmap -heap <pid>
java \ -Xms300m \ -Xmx600m \ -verbose:gc \ -XX:MaxGCPauseMillis=20 \ -XX:+UseConcMarkSweepGC \ -XX:+CMSIncrementalMode \ -XX:+CMSIncrementalPacing \
java \ -verbose:gc \ -XX:+PrintGCDetails \ -XX:MaxGCPauseMillis=20 \ -XX:MaxGCMinorPauseMillis=10 \ -XX:GCTimeRatio=200 \ -XX:+UseSerialGC \ -Xms140m -Xmx140m \