{"id":425,"date":"2015-07-31T12:31:29","date_gmt":"2015-07-31T12:31:29","guid":{"rendered":"http:\/\/www.smr.co.uk\/?p=425"},"modified":"2015-07-31T12:31:29","modified_gmt":"2015-07-31T12:31:29","slug":"java-tuning-and-trouble-shooting","status":"publish","type":"post","link":"http:\/\/www.smr.co.uk\/?p=425","title":{"rendered":"Java Tuning and Trouble Shooting"},"content":{"rendered":"<h2>Useful JVM\u00a0Settings<\/h2>\n<p>-Xmx512m (maximum Heap space)\u00a0-Xms1024m (minimum Heap size)<br \/>\nstarting points 2G 32 bit 3-4G 64 bit and 1:3 young vs old<br \/>\n-XX:+HeapDumpOnOutOfMemoryError<\/p>\n<h2>Java Trouble Shooting\u00a0Tools<\/h2>\n<ul>\n<li>heap dump\n<ul>\n<li>jmap -dump:file=filename.bin\u00a0[pid]\n<ul>\n<li>hprof binary format<\/li>\n<li>needs to be analysed in another took like <a href=\"https:\/\/eclipse.org\/mat\/\">MAT<\/a><\/li>\n<li>or jhat to see in a web browser on port 7000 on local host\n<ul>\n<li>jhat -J-mx2000m filename.bin<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>jmap\u00a0-histo\u00a0[pid]\n<ul>\n<li>histogram of java object heap<\/li>\n<li>quick text output<\/li>\n<\/ul>\n<\/li>\n<li>jmap -heap\u00a0[pid]\n<ul>\n<li>to print java heap summary<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>thread dump \/ thread stack\n<ul>\n<li>jstack [pid]<\/li>\n<\/ul>\n<\/li>\n<li>enabling\u00a0gc logs\n<ul>\n<li>-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:[logname]<\/li>\n<\/ul>\n<\/li>\n<li>visualJVM<\/li>\n<li>jconsole<\/li>\n<li>list open files for process\n<ul>\n<li>sudo lsof -p [pid]<\/li>\n<\/ul>\n<\/li>\n<li>list max open file limit\n<ul>\n<li>ulimit -S -n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Useful JVM\u00a0Settings -Xmx512m (maximum Heap space)\u00a0-Xms1024m (minimum Heap size) starting points 2G 32 bit 3-4G 64 bit and 1:3 young vs old -XX:+HeapDumpOnOutOfMemoryError Java Trouble Shooting\u00a0Tools heap dump jmap -dump:file=filename.bin\u00a0[pid] hprof binary format needs to be analysed in another took &hellip; <a href=\"http:\/\/www.smr.co.uk\/?p=425\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a> <a href=\"http:\/\/www.smr.co.uk\/?p=425\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[8,11],"tags":[],"class_list":["post-425","post","type-post","status-publish","format-standard","hentry","category-java","category-technology"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=425"}],"version-history":[{"count":0,"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/425\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=425"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.smr.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}