Difference between revisions of "Java"
From Vague Hope Wiki
(→OpenJDK Heapdump) |
(→Profiling) |
||
Line 2: | Line 2: | ||
-Xrunhprof:cpu=samples,file=/tmp/app-profile.txt -jar foo.jar | -Xrunhprof:cpu=samples,file=/tmp/app-profile.txt -jar foo.jar | ||
+ | |||
+ | * http://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html | ||
== OpenJDK Heapdump == | == OpenJDK Heapdump == |
Revision as of 07:09, 10 March 2015
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
sudo -u tomcat jmap -J-d64 -dump:format=b,file=/tmp/heap.bin 1384
- 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 \