{"id":741,"date":"2019-09-17T11:30:59","date_gmt":"2019-09-17T11:30:59","guid":{"rendered":"https:\/\/wiki.graven-ict.nl\/wordpress\/?p=741"},"modified":"2020-09-17T11:31:57","modified_gmt":"2020-09-17T11:31:57","slug":"java-heap-dump-maken","status":"publish","type":"post","link":"https:\/\/wiki.graven-ict.nl\/wordpress\/java-heap-dump-maken\/","title":{"rendered":"java heap dump maken."},"content":{"rendered":"\n<p>We kregen het verzoek om van een springboot applicatie een heapdump te maken. dit kan het op een aantal manieren doen, wij hebben voor de volgende 2 opties gekozen. jcmd en jmap. jcmd. Beide commado&#8217;s zitten bij redhat in het devel packages dus als je die er niet op hebt staan is dat stap 1.<\/p>\n<p>zowel jcmd als jmap dien je op te starten onder de zelfde user als waar je jvm onder draait anders. omdat in ons geval de user op nologin stond maken\u00a0 we gebruik van sudo.\u00a0<\/p><div id=\"grave-3153601064\" class=\"grave-content grave-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-1970734611769428\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:inline-block;width:728px;height:90px;\" \ndata-ad-client=\"ca-pub-1970734611769428\" \ndata-ad-slot=\"1820224830\"><\/ins> \n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<p><code># sudo -u spring jcmd &lt;PID&gt; GC.heap_dump &lt;dump_file&gt; <\/code><br \/><br \/><code># sudo -u spring jcmd 109146 GC.heap_dump \/tmp\/dump-core-auth.hprof<\/code><\/p>\n<p>met jcmd kunnen nog veel meer zaken uitgevoerd worden wil je weten wat check de help functie van jcmd<\/p>\n<p><code># sudo -u spring jcmd &lt;PID&gt; help<\/code><br \/><br \/><code># sudo -u spring jcmd 109146 help<\/code><\/p>\n<p>ook kan je jmap gebruiken voor een heapdump ook ga je op de snelle manier te werk dan gebruik je de volgende opties. en wederom moet je deze uitvoeren als user<\/p>\n<p><code># sudo -u spring jmap -dump:format=b,file=\/tmp\/dump-core-auth.bin 66225<\/code><\/p>\n<p>je kan met jmap ook een dump forceren als root dan moet je de -F optie gebruiken. nadeel van deze optie dat het maken op deze manier wel veel langer duurt. <br \/>voordeel van deze methode is stel je java proces hangt. je ook met de -F nog steeds een dump kan forceren.<\/p>\n<p><code># jmap -F -dump:format=b,file=\/tmp\/dump-core-auth2.bin 66225<\/code><\/p>\n<p>alles is getest op rhel7 met openjdk 1.8<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We kregen het verzoek om van een springboot applicatie een heapdump te maken. dit kan het op een aantal manieren doen, wij hebben voor de volgende 2 opties gekozen. jcmd en jmap. jcmd. Beide commado&#8217;s zitten bij redhat in het devel packages dus als je die er niet op hebt staan is dat stap 1. ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/wiki.graven-ict.nl\/wordpress\/java-heap-dump-maken\/\" title=\"Meer lezen...\">Lees meer<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-741","post","type-post","status-publish","format-standard","hentry","category-software"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/comments?post=741"}],"version-history":[{"count":1,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/741\/revisions"}],"predecessor-version":[{"id":742,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/741\/revisions\/742"}],"wp:attachment":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/media?parent=741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/categories?post=741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/tags?post=741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}