{"id":50491,"date":"2019-08-13T06:00:30","date_gmt":"2019-08-13T04:00:30","guid":{"rendered":"http:\/\/smeupnew.it\/magazine\/blog\/memory-leak\/"},"modified":"2021-04-06T14:43:35","modified_gmt":"2021-04-06T12:43:35","slug":"memory-leak","status":"publish","type":"post","link":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/","title":{"rendered":"Un caso reale di memory leak &#8211; parte 7"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling gradient-container-1\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1144px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p>Ti sei perso le scorse puntate? Guarda qui:<\/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<li><a href=\"https:\/\/www.smeup.com\/magazine\/blog\/heap-dump-situazioni-critiche\/\" target=\"_blank\" rel=\"noopener\">Heap dump in situazioni critiche \u2013 parte 6<\/a><\/li>\n<\/ul>\n<h2>Caso reale di memory leak<\/h2>\n<p><span style=\"font-weight: 400;\">A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP utilizzata oltre che come client per i dipendenti amministrativi anche come console a bordo macchina per indicazioni sulla produzione e sul turno dell\u2019operatore, ha iniziato a manifestarsi un comportamento anomalo.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Verso fine settimana, prima del riavvio della domenica (viene effettuato un riavvio settimanale), la macchina server ha iniziato a manifestare un problema di alta CPU e alta memoria sul processo Java dell\u2019application server che gestisce Web.UP. In particolare il server diventava pian piano sempre pi\u00f9 lento nel mostrare le schermate richieste dagli utenti fino a non essere pi\u00f9 responsivo. A questo punto per non bloccare la produzione era necessario riavviare il server.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tale problema comportava quindi un periodo di disagio per gli utenti sia durante il rallentamento che durante il riavvio del server, per l\u2019indisponibilit\u00e0 dei servizi.\u00a0\u00a0<\/span><\/p>\n<h2>Per risolvere il problema si \u00e8 operato in questo modo.<\/h2>\n<p><span style=\"font-weight: 400;\">Innanzitutto sono stati creati degli eseguibili sulla macchina server, da chiamare rapidamente e facilmente, in grado di effettuare il dump sia della memoria che dei thread della JVM. Il cliente, nel momento del verificarsi del problema, prima di spegnere il server, ha potuto quindi eseguire gli script per salvare tali file fondamentali di dump, prima che il riavvio resettasse tutto.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I file di heap dump e thread dump sono stati poi consegnati a <a href=\"https:\/\/www.smeup.com\/laboratorio-gruppo-smeup\/\">Sme.UP LAB<\/a> e analizzati.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Il tool Eclipse Memory Analizer \u00e8 stato fondamentale nella risoluzione del problema. Indagando il Dominator Tree sull\u2019heap dump si \u00e8 notato che una data classe manteneva in vita oggetti che avrebbero dovuto essere ripuliti, perch\u00e8 non pi\u00f9 utilizzati.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lo si vede nell\u2019immagine seguente. La classe si chiama VariableLogger e manteneva in vita componenti grafici non pi\u00f9 attivi, perch\u00e8 facenti capo a vecchie view (vecchie schermate). Tali componenti mantenevano in vita altri oggetti a cascata, producendo un <\/span><b>memory leak<\/b><span style=\"font-weight: 400;\">.\u00a0\u00a0<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Immagine 3 &#8211; Dominator tree su heap dump con memory leak<\/span><\/i><\/p>\n<\/div><div class=\"fusion-image-element \" style=\"--awb-margin-bottom:30px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"1600\" height=\"848\" alt=\"smeup dominator tree heap dump memory leak\" title=\"smeup dominator tree heap dump memory leak\" src=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak.png\" data-orig-src=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak.png\" class=\"lazyload img-responsive wp-image-53184\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271600%27%20height%3D%27848%27%20viewBox%3D%270%200%201600%20848%27%3E%3Crect%20width%3D%271600%27%20height%3D%27848%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak-200x106.png 200w, https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak-400x212.png 400w, https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak-600x318.png 600w, https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak-800x424.png 800w, https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak-1200x636.png 1200w, https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/dominator-tree-heap-dump-memory-leak.png 1600w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 1200px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-2\"><p><span style=\"font-weight: 400;\">Il VariableLogger \u00e8 nel codice di Web.UP un oggetto di monitoring mantenuto in memoria, utile nel registrare informazioni storiche sulle variabili di smeup. La correzione \u00e8 stata duplice.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In primo luogo si \u00e8 intervenuto nel non referenziare nel VariableLogger oggetti ma stringhe (servivano solo poche tipologie di informazioni). Questo ha spezzato la catena di riferimenti ad altri oggetti.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In secondo luogo \u00e8 stato definito un numero massimo dei record contenuti nell\u2019oggetto VariableLogger: quando viene raggiunto il limite le informazioni pi\u00f9 vecchie lasciano spazio a quelle nuove.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Grazie a queste due correzioni il memory leak e di conseguenza i disagi avuti dal cliente sono felicemente spariti.<\/span><\/p>\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\" target=\"_blank\" rel=\"noopener\">My LinkedIn Profile<\/a><\/p>\n<\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP utilizzata oltre che come client per i dipendenti amministrativi anche come console a bordo macchina per indicazioni sulla produzione e sul turno dell\u2019operatore, ha iniziato a manifestarsi un caso di memory leak.<\/p>\n","protected":false},"author":1,"featured_media":53181,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7144],"tags":[6321,6322,6312,6308,6313,6314,6323,4431],"class_list":["post-50491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erp","tag-dominator-tree","tag-eclipse-memory-analyser","tag-heap-dump","tag-java-virtual-machine","tag-java-virtual-machine-monitoring","tag-memory-leak","tag-variablelogger","tag-web-up"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vi presentiamo un caso reale di memory leak - parte 7<\/title>\n<meta name=\"description\" content=\"A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP, ha iniziato a manifestarsi un caso di memory leak.\" \/>\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\/memory-leak\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vi presentiamo un caso reale di memory leak - parte 7\" \/>\n<meta property=\"og:description\" content=\"A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP, ha iniziato a manifestarsi un caso di memory leak.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/\" \/>\n<meta property=\"og:site_name\" content=\"Magazine\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-13T04:00:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-06T12:43:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/memory-leak.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1086\" \/>\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\\\/memory-leak\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/\"},\"author\":{\"name\":\"smeup\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"headline\":\"Un caso reale di memory leak &#8211; parte 7\",\"datePublished\":\"2019-08-13T04:00:30+00:00\",\"dateModified\":\"2021-04-06T12:43:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/\"},\"wordCount\":931,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/memory-leak.jpg\",\"keywords\":[\"dominator tree\",\"Eclipse Memory Analyser\",\"heap dump\",\"java virtual machine\",\"java virtual machine monitoring\",\"memory leak\",\"VariableLogger\",\"Web.UP\"],\"articleSection\":[\"ERP\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/\",\"name\":\"Vi presentiamo un caso reale di memory leak - parte 7\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/memory-leak.jpg\",\"datePublished\":\"2019-08-13T04:00:30+00:00\",\"dateModified\":\"2021-04-06T12:43:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"description\":\"A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP, ha iniziato a manifestarsi un caso di memory leak.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/memory-leak.jpg\",\"contentUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2019\\\/08\\\/memory-leak.jpg\",\"width\":1600,\"height\":1086,\"caption\":\"smeup memory leak\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/memory-leak\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Un caso reale di memory leak &#8211; parte 7\"}]},{\"@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":"Vi presentiamo un caso reale di memory leak - parte 7","description":"A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP, ha iniziato a manifestarsi un caso di memory leak.","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\/memory-leak\/","og_locale":"it_IT","og_type":"article","og_title":"Vi presentiamo un caso reale di memory leak - parte 7","og_description":"A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP, ha iniziato a manifestarsi un caso di memory leak.","og_url":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/","og_site_name":"Magazine","article_published_time":"2019-08-13T04:00:30+00:00","article_modified_time":"2021-04-06T12:43:35+00:00","og_image":[{"width":1600,"height":1086,"url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/memory-leak.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\/memory-leak\/#article","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/"},"author":{"name":"smeup","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"headline":"Un caso reale di memory leak &#8211; parte 7","datePublished":"2019-08-13T04:00:30+00:00","dateModified":"2021-04-06T12:43:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/"},"wordCount":931,"commentCount":0,"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/memory-leak.jpg","keywords":["dominator tree","Eclipse Memory Analyser","heap dump","java virtual machine","java virtual machine monitoring","memory leak","VariableLogger","Web.UP"],"articleSection":["ERP"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/","url":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/","name":"Vi presentiamo un caso reale di memory leak - parte 7","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#primaryimage"},"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/memory-leak.jpg","datePublished":"2019-08-13T04:00:30+00:00","dateModified":"2021-04-06T12:43:35+00:00","author":{"@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"description":"A settembre del 2018 in una nostra azienda cliente, in cui \u00e8 installata una versione di Web.UP, ha iniziato a manifestarsi un caso di memory leak.","breadcrumb":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#primaryimage","url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/memory-leak.jpg","contentUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2019\/08\/memory-leak.jpg","width":1600,"height":1086,"caption":"smeup memory leak"},{"@type":"BreadcrumbList","@id":"https:\/\/www.smeup.com\/magazine\/blog\/memory-leak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.smeup.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Un caso reale di memory leak &#8211; parte 7"}]},{"@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\/50491","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=50491"}],"version-history":[{"count":3,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50491\/revisions"}],"predecessor-version":[{"id":53186,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50491\/revisions\/53186"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media\/53181"}],"wp:attachment":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media?parent=50491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/categories?post=50491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/tags?post=50491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}