{"id":50483,"date":"2019-08-11T06:00:00","date_gmt":"2019-08-11T04:00:00","guid":{"rendered":"http:\/\/smeupnew.it\/magazine\/blog\/heap-dump-situazioni-critiche\/"},"modified":"2021-03-30T11:36:32","modified_gmt":"2021-03-30T09:36:32","slug":"heap-dump-situazioni-critiche","status":"publish","type":"post","link":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/","title":{"rendered":"Heap dump in situazioni critiche &#8211; parte 6"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Nel precedente articolo sull\u2019argomento dei performance monitoring tools (vedere <a href=\"https:\/\/www.smeup.com\/magazine\/blog\/monitoring-della-jvm\/\" target=\"_blank\" rel=\"noopener\">articolo monitoring jvm<\/a>) abbiamo trattato il concetto di JVM, fondamentale in ambito di applicazioni Java, e offerto una panoramica delle funzionalit\u00e0 di monitoring della JVM presenti nell\u2019APM Glowroot.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Vedremo ora nei prossimi articoli due casi concreti di come l\u2019indagine interna alla JVM effettuata all\u2019interno del <a href=\"https:\/\/www.smeup.com\/laboratorio-gruppo-smeup\/\">Laboratorio di Sme.UP<\/a> abbia consentito di risolvere due rilevanti problemi di perfomance.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In questa parte tratteremo dell\u2019esame dell\u2019heap dump in situazioni critiche, nel successivo ci concentreremo sull\u2019esame del thread dump.<\/span><\/p>\n<h2>Heap della JVM<\/h2>\n<p><span style=\"font-weight: 400;\">L&#8217;<\/span><b>heap<\/b><span style=\"font-weight: 400;\"> della JVM \u00e8 l&#8217;area di memoria in cui risiedono gli oggetti Java. Quando un&#8217;applicazione Java crea un oggetto esso viene memorizzato nell&#8217;heap. Esso pu\u00f2 poi essere referenziato da altri oggetti all&#8217;interno dell&#8217;applicazione. Periodicamente viene effettuato un processo di <\/span><b>garbage collection<\/b><span style=\"font-weight: 400;\"> (letteralmente raccolta dei rifiuti) che ripulisce l&#8217;heap da oggetti non pi\u00f9 in uso, facendo spazio a nuovi oggetti. Un oggetto \u00e8 in uso quando \u00e8 referenziato, ovvero quando parti dell&#8217;applicazione mantengono ancora un puntamento a quell&#8217;oggetto.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">L&#8217;utilizzo dell&#8217;heap nella JVM segue generalmente il cosiddetto <\/span><b>sawtooth pattern<\/b><span style=\"font-weight: 400;\"> (comportamento a dente di sega). La memoria sale progressivamente per la creazione di nuovi oggetti. La maggioranza di tali oggetti hanno solitamente una vita breve quindi quando passa la garbage collection (per esattezza quella denominata di Major GC) la memoria viene liberata dagli oggetti non pi\u00f9 utilizzati e il grafico mostra una ripida caduta.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nella seguente immagine \u00e8 mostrato un andamento di una memoria in salute.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Immagine 1 &#8211; Heap in buona salute<br \/>\nFonte: <a href=\"https:\/\/plumbr.io\/blog\/memory-leaks\/memory-leaks-fallacies-and-misconceptions\" target=\"_blank\" rel=\"noopener\">https:\/\/plumbr.io\/blog\/memory-leaks\/memory-leaks-fallacies-and-misconceptions<\/a>\u00a0<\/span><\/i><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Un andamento come quello nella figura sottostante \u00e8 invece indicativo di una memoria non in buona salute e in particolare della presenza di un <\/span><b>memory leak<\/b><span style=\"font-weight: 400;\">. Qui l&#8217;occupazione minima di memoria dopo il passaggio della garbage collection sale costantemente nel tempo. Se l&#8217;applicazione rimane attiva per periodi di tempo prolungato l&#8217;area di memoria occupata tender\u00e0 progressivamente a crescere finch\u00e8 prima o poi l&#8217;heap verr\u00e0 saturato. Quando l&#8217;heap arriva ad alti livelli di saturazione si possono manifestare anche problemi di alta cpu, perch\u00e8 il sistema cerca di effettuare la garbage collection con maggiore frequenza e sforzo, senza esito.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In una situazione del genere il riavvio dell&#8217;application server Java (o chiaramente dell&#8217;intera macchina su cui \u00e8 hostata l&#8217;applicazione) risolve momentaneamente il problema, ma ovviamente una soluzione del genere \u00e8 solo temporanea perch\u00e8 il problema si riverificher\u00e0 ancora col passare del tempo. Inoltre il riavvio di un server o di una macchina in sistemi non clusterizzati pu\u00f2 generare disagi anche gravi dato che l&#8217;applicazione rimane momentaneamente indisponibile.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Immagine 2 &#8211; Heap in presenza di memory leak<br \/>\nFonte: <a href=\"https:\/\/plumbr.io\/blog\/memory-leaks\/memory-leaks-fallacies-and-misconceptions\" target=\"_blank\" rel=\"noopener\">https:\/\/plumbr.io\/blog\/memory-leaks\/memory-leaks-fallacies-and-misconceptions<\/a><\/span><\/i><\/p>\n<p>&nbsp;<\/p>\n<h2>Heap dump e strumenti di analisi<\/h2>\n<p><span style=\"font-weight: 400;\">I grafici dell\u2019andamento dell\u2019heap possono dare indicazioni sulla presenza di un memory leak ma non danno informazioni sulla sua causa. Per individuarla si pu\u00f2 ricorrere al <\/span><b>dump<\/b><span style=\"font-weight: 400;\"> (scarico) della memoria. Questo processo salva la memoria su un file che pu\u00f2 essere analizzato con appositi strumenti. Uno dei pi\u00f9 completi si chiama <\/span><b>Eclipse Memory Analyzer (MAT)<\/b><span style=\"font-weight: 400;\"> (<\/span><a href=\"https:\/\/www.eclipse.org\/mat\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">https:\/\/www.eclipse.org\/mat\/<\/span><\/a><span style=\"font-weight: 400;\">), un progetto rilasciato sotto licenza Open Source e concepito appositamente per l\u2019analisi di dumps dell\u2019heap.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Eclipse Memory Analyzer dispone di molte features. Tra le pi\u00f9 utili citiamo il <\/span><b>Dominator Tree<\/b><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Esso mostra gli oggetti che occupano maggior memoria nell&#8217;heap secondo una struttura gerarchica in cui i sottolivelli sono gli oggetti referenziati dai padri. Grazie ad esso \u00e8 possibile investigare quali oggetti ne tengono vivi altri perch\u00e8 li referenziano.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Altre features interessanti sono il Top Consumers, che mostra gli oggetti pi\u00f9 ingombranti raggruppati per classe e il Leak Suspects, una analisi dei leak sospetti eseguita sulla base degli anti patterns pi\u00f9 conosciuti riguardanti l\u2019uso della memoria.<\/span><\/p>\n<p>Nel prossimo articolo parleremo di un caso reale di Memory Leak.<br \/>\nSe vuoi rimanere aggiornato anche sulle scorse puntate eccole:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.smeup.com\/magazine\/blog\/performance-monitoring-tool-parte-1\/\" target=\"_blank\" rel=\"noopener\">Introduzione ai performance monitoring tool \u2013 parte 1<\/a><\/li>\n<li><a href=\"https:\/\/www.smeup.com\/magazine\/blog\/apm-open-source-glowroot\/\" target=\"_blank\" rel=\"noopener\">Esempio di un APM open source per un\u2019app web Java J2EE: Glowroot \u2013 parte 2<\/a><\/li>\n<li><a href=\"https:\/\/www.smeup.com\/magazine\/blog\/glowroot-profilazione-transazioni-web\/\" target=\"_blank\" rel=\"noopener\">Glowroot \u2013 Profilazione e transazioni web \u2013 parte 3<\/a><\/li>\n<li><a href=\"https:\/\/www.smeup.com\/magazine\/blog\/glowroot-slow-traces\/\" target=\"_blank\" rel=\"noopener\">Glowroot Slow traces \u2013 parte 4<\/a><\/li>\n<li><a href=\"https:\/\/www.smeup.com\/magazine\/blog\/monitoring-della-jvm\/\" target=\"_blank\" rel=\"noopener\">Glowroot: monitoring della JVM \u2013 parte 5<\/a><\/li>\n<\/ul>\n<p><strong>Chiara Zambelli<br \/>\n<\/strong><em>Responsabile CI\/CD &#8211; smeup<br \/>\n<\/em><a href=\"https:\/\/it.linkedin.com\/in\/chiara-zambelli\">My LinkedIn Profile<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vedremo ora nei prossimi articoli due casi concreti dell\u2019indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB. In questa parte tratteremo dell\u2019esame dell\u2019heap dump in situazioni critiche, nel successivo ci concentreremo sull\u2019esame del thread dump.<\/p>\n","protected":false},"author":1,"featured_media":52092,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7144],"tags":[6312,6308,6313,6314,6315,6316],"class_list":["post-50483","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erp","tag-heap-dump","tag-java-virtual-machine","tag-java-virtual-machine-monitoring","tag-memory-leak","tag-monitoring-jvm","tag-thread-dump"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Indagine JVM: heap dump in situazioni critiche - parte 6<\/title>\n<meta name=\"description\" content=\"Esame dell\u2019heap dump in situazioni critiche: indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB per migliorare le performance.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Indagine JVM: heap dump in situazioni critiche - parte 6\" \/>\n<meta property=\"og:description\" content=\"Esame dell\u2019heap dump in situazioni critiche: indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB per migliorare le performance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/\" \/>\n<meta property=\"og:site_name\" content=\"Magazine\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-11T04:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-30T09:36:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/heap-dump.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1131\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"smeup\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"smeup\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/\"},\"author\":{\"name\":\"smeup\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"headline\":\"Heap dump in situazioni critiche &#8211; parte 6\",\"datePublished\":\"2019-08-11T04:00:00+00:00\",\"dateModified\":\"2021-03-30T09:36:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/\"},\"wordCount\":704,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/heap-dump.jpg\",\"keywords\":[\"heap dump\",\"java virtual machine\",\"java virtual machine monitoring\",\"memory leak\",\"monitoring jvm\",\"thread dump\"],\"articleSection\":[\"ERP\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/\",\"name\":\"Indagine JVM: heap dump in situazioni critiche - parte 6\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/heap-dump.jpg\",\"datePublished\":\"2019-08-11T04:00:00+00:00\",\"dateModified\":\"2021-03-30T09:36:32+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"description\":\"Esame dell\u2019heap dump in situazioni critiche: indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB per migliorare le performance.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/heap-dump.jpg\",\"contentUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/heap-dump.jpg\",\"width\":1600,\"height\":1131,\"caption\":\"smeup heap dump\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/heap-dump-situazioni-critiche\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Heap dump in situazioni critiche &#8211; parte 6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\",\"name\":\"Magazine\",\"description\":\"smeup\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\",\"name\":\"smeup\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"caption\":\"smeup\"},\"sameAs\":[\"https:\\\/\\\/www.smeup.com\"],\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Indagine JVM: heap dump in situazioni critiche - parte 6","description":"Esame dell\u2019heap dump in situazioni critiche: indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB per migliorare le performance.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/","og_locale":"it_IT","og_type":"article","og_title":"Indagine JVM: heap dump in situazioni critiche - parte 6","og_description":"Esame dell\u2019heap dump in situazioni critiche: indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB per migliorare le performance.","og_url":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/","og_site_name":"Magazine","article_published_time":"2019-08-11T04:00:00+00:00","article_modified_time":"2021-03-30T09:36:32+00:00","og_image":[{"width":1600,"height":1131,"url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/heap-dump.jpg","type":"image\/jpeg"}],"author":"smeup","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"smeup","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#article","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/"},"author":{"name":"smeup","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"headline":"Heap dump in situazioni critiche &#8211; parte 6","datePublished":"2019-08-11T04:00:00+00:00","dateModified":"2021-03-30T09:36:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/"},"wordCount":704,"commentCount":0,"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/heap-dump.jpg","keywords":["heap dump","java virtual machine","java virtual machine monitoring","memory leak","monitoring jvm","thread dump"],"articleSection":["ERP"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/","url":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/","name":"Indagine JVM: heap dump in situazioni critiche - parte 6","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#primaryimage"},"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/heap-dump.jpg","datePublished":"2019-08-11T04:00:00+00:00","dateModified":"2021-03-30T09:36:32+00:00","author":{"@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"description":"Esame dell\u2019heap dump in situazioni critiche: indagine interna alla JVM effettuata all\u2019interno di Sme.UP LAB per migliorare le performance.","breadcrumb":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#primaryimage","url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/heap-dump.jpg","contentUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/heap-dump.jpg","width":1600,"height":1131,"caption":"smeup heap dump"},{"@type":"BreadcrumbList","@id":"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.smeup.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Heap dump in situazioni critiche &#8211; parte 6"}]},{"@type":"WebSite","@id":"https:\/\/www.smeup.com\/magazine\/#website","url":"https:\/\/www.smeup.com\/magazine\/","name":"Magazine","description":"smeup","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.smeup.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7","name":"smeup","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","caption":"smeup"},"sameAs":["https:\/\/www.smeup.com"],"url":"https:\/\/www.smeup.com\/magazine\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/comments?post=50483"}],"version-history":[{"count":1,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50483\/revisions"}],"predecessor-version":[{"id":52094,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50483\/revisions\/52094"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media\/52092"}],"wp:attachment":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media?parent=50483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/categories?post=50483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/tags?post=50483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}