From 67e2c723aff4502501e0ac567ac5364348f6f3d7 Mon Sep 17 00:00:00 2001 From: Peter Tripp Date: Tue, 16 Feb 2016 11:27:52 -0800 Subject: [PATCH] Java debug tools. Jstack, jmap and jhat. --- pages/common/jhat.md | 11 +++++++++++ pages/common/jmap.md | 19 +++++++++++++++++++ pages/common/jstack.md | 15 +++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 pages/common/jhat.md create mode 100644 pages/common/jmap.md create mode 100644 pages/common/jstack.md diff --git a/pages/common/jhat.md b/pages/common/jhat.md new file mode 100644 index 000000000..d5ff16815 --- /dev/null +++ b/pages/common/jhat.md @@ -0,0 +1,11 @@ +# jhat + +> Java Heap Analysis Tool. + +- Analyze a heap dump (from jmap), view via http on port 7000: + +`jhat {{dump_file.bin}}` + +- Analyze a heap dump, specifying an alternate port for the http server: + +`jhat -p {{port}} {{dump_file.bin}}` diff --git a/pages/common/jmap.md b/pages/common/jmap.md new file mode 100644 index 000000000..02e32aa3f --- /dev/null +++ b/pages/common/jmap.md @@ -0,0 +1,19 @@ +# jmap + +> Java Memory Map Tool. + +- Print shared object mappings for a java process (output like pmap): + +`jmap {{java_pid}}` + +- Print heap summary information: + +`java -heap {{filename.jar}} {{java_pid}}` + +- Print histogram of heap usage by type: + +`jmap -histo {{java_pid}}` + +- Dump contents of the heap into a binary file for analysis with jhat: + +`jmap -dump:format=b,file={{filename}} {{java_pid}}` diff --git a/pages/common/jstack.md b/pages/common/jstack.md new file mode 100644 index 000000000..80439ee08 --- /dev/null +++ b/pages/common/jstack.md @@ -0,0 +1,15 @@ +# jstack + +> Java Stack Trace Tool. + +- Print java stack traces for all threads in a java process: + +`jstack {{java_pid}}` + +- Print mixed mode (java/c++) stack traces for all threads in a java process: + +`jstack {{java_pid}}` + +- Print stack traces from java core dump: + +`jstack {{/usr/bin/java}} {{file.core}}`