Se dovesse servire per la configurazione della memoria (ma non per trovare i
leaks)
JVM Memory Settings in a Container Environment
|
|
|
| | |
|
|
|
| |
JVM Memory Settings in a Container Environment
Roman Ataman
|
|
|
Il mercoledì 5 giugno 2019, 14:07:18 CEST, Uberto Barbini
[email protected] [it-torino-java-jug] <[email protected]>
ha scritto:
Per trovare il memory leak in fretta ti basta fare un memory dump con
l'applicazione che gira da un po' e poi guardarci con visualvm. I casi più
semplici li trovi cercando le classi tue con più istanze.
Metodi più sofisticati richiedono analizzare i log del gc, ma di solito lo vedi
da visualvm
Uberto
On Wed, 5 Jun 2019, 15:36 Salvatore Spoto [email protected]
[it-torino-java-jug], <[email protected]> wrote:
Ciao a tutti,
avrei la necessità di trovare dei memory leak in un'applicazione java.
Il sintomo è abbastanza banale: la memoria cresce costantemente nel tempo,
senza essere mai liberata, e questo porta il processo ad essere ucciso quando
raggiunge i limiti di memoria pre determinati del container (l'applicazione
gira in un docker).
Qualcuno saprebbe consigliari dei profiler, tool o best practice per eseguire
questo lavoro ?
Ho visto che vi sono JProfile e YourKit, purtroppo sono commerciali, ma
sembrano ottimi. Anche lo stesso Java Mission Control credo che richieda una
licenza per essere usato in ambienti di produzione. Forse di quest'ultimo vi è
una versione open source sulla jdk 11, ma io sto lavorando ancora sulla 7 :_/.
Grazie delle dritte...
Ciao,Salvatore
#yiv7848712044 #yiv7848712044 -- #yiv7848712044ygrp-mkp {border:1px solid
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv7848712044
#yiv7848712044ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv7848712044
#yiv7848712044ygrp-mkp #yiv7848712044hd
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}#yiv7848712044 #yiv7848712044ygrp-mkp #yiv7848712044ads
{margin-bottom:10px;}#yiv7848712044 #yiv7848712044ygrp-mkp .yiv7848712044ad
{padding:0 0;}#yiv7848712044 #yiv7848712044ygrp-mkp .yiv7848712044ad p
{margin:0;}#yiv7848712044 #yiv7848712044ygrp-mkp .yiv7848712044ad a
{color:#0000ff;text-decoration:none;}#yiv7848712044 #yiv7848712044ygrp-sponsor
#yiv7848712044ygrp-lc {font-family:Arial;}#yiv7848712044
#yiv7848712044ygrp-sponsor #yiv7848712044ygrp-lc #yiv7848712044hd {margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv7848712044
#yiv7848712044ygrp-sponsor #yiv7848712044ygrp-lc .yiv7848712044ad
{margin-bottom:10px;padding:0 0;}#yiv7848712044 #yiv7848712044actions
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv7848712044
#yiv7848712044activity
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv7848712044
#yiv7848712044activity span {font-weight:700;}#yiv7848712044
#yiv7848712044activity span:first-child
{text-transform:uppercase;}#yiv7848712044 #yiv7848712044activity span a
{color:#5085b6;text-decoration:none;}#yiv7848712044 #yiv7848712044activity span
span {color:#ff7900;}#yiv7848712044 #yiv7848712044activity span
.yiv7848712044underline {text-decoration:underline;}#yiv7848712044
.yiv7848712044attach
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}#yiv7848712044 .yiv7848712044attach div a
{text-decoration:none;}#yiv7848712044 .yiv7848712044attach img
{border:none;padding-right:5px;}#yiv7848712044 .yiv7848712044attach label
{display:block;margin-bottom:5px;}#yiv7848712044 .yiv7848712044attach label a
{text-decoration:none;}#yiv7848712044 blockquote {margin:0 0 0
4px;}#yiv7848712044 .yiv7848712044bold
{font-family:Arial;font-size:13px;font-weight:700;}#yiv7848712044
.yiv7848712044bold a {text-decoration:none;}#yiv7848712044 dd.yiv7848712044last
p a {font-family:Verdana;font-weight:700;}#yiv7848712044 dd.yiv7848712044last p
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv7848712044
dd.yiv7848712044last p span.yiv7848712044yshortcuts
{margin-right:0;}#yiv7848712044 div.yiv7848712044attach-table div div a
{text-decoration:none;}#yiv7848712044 div.yiv7848712044attach-table
{width:400px;}#yiv7848712044 div.yiv7848712044file-title a, #yiv7848712044
div.yiv7848712044file-title a:active, #yiv7848712044
div.yiv7848712044file-title a:hover, #yiv7848712044 div.yiv7848712044file-title
a:visited {text-decoration:none;}#yiv7848712044 div.yiv7848712044photo-title a,
#yiv7848712044 div.yiv7848712044photo-title a:active, #yiv7848712044
div.yiv7848712044photo-title a:hover, #yiv7848712044
div.yiv7848712044photo-title a:visited {text-decoration:none;}#yiv7848712044
div#yiv7848712044ygrp-mlmsg #yiv7848712044ygrp-msg p a
span.yiv7848712044yshortcuts
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv7848712044
.yiv7848712044green {color:#628c2a;}#yiv7848712044 .yiv7848712044MsoNormal
{margin:0 0 0 0;}#yiv7848712044 o {font-size:0;}#yiv7848712044
#yiv7848712044photos div {float:left;width:72px;}#yiv7848712044
#yiv7848712044photos div div {border:1px solid
#666666;min-height:62px;overflow:hidden;width:62px;}#yiv7848712044
#yiv7848712044photos div label
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv7848712044
#yiv7848712044reco-category {font-size:77%;}#yiv7848712044
#yiv7848712044reco-desc {font-size:77%;}#yiv7848712044 .yiv7848712044replbq
{margin:4px;}#yiv7848712044 #yiv7848712044ygrp-actbar div a:first-child
{margin-right:2px;padding-right:5px;}#yiv7848712044 #yiv7848712044ygrp-mlmsg
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv7848712044
#yiv7848712044ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv7848712044
#yiv7848712044ygrp-mlmsg select, #yiv7848712044 input, #yiv7848712044 textarea
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv7848712044
#yiv7848712044ygrp-mlmsg pre, #yiv7848712044 code {font:115%
monospace;}#yiv7848712044 #yiv7848712044ygrp-mlmsg *
{line-height:1.22em;}#yiv7848712044 #yiv7848712044ygrp-mlmsg #yiv7848712044logo
{padding-bottom:10px;}#yiv7848712044 #yiv7848712044ygrp-msg p a
{font-family:Verdana;}#yiv7848712044 #yiv7848712044ygrp-msg
p#yiv7848712044attach-count span {color:#1E66AE;font-weight:700;}#yiv7848712044
#yiv7848712044ygrp-reco #yiv7848712044reco-head
{color:#ff7900;font-weight:700;}#yiv7848712044 #yiv7848712044ygrp-reco
{margin-bottom:20px;padding:0px;}#yiv7848712044 #yiv7848712044ygrp-sponsor
#yiv7848712044ov li a {font-size:130%;text-decoration:none;}#yiv7848712044
#yiv7848712044ygrp-sponsor #yiv7848712044ov li
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv7848712044
#yiv7848712044ygrp-sponsor #yiv7848712044ov ul {margin:0;padding:0 0 0
8px;}#yiv7848712044 #yiv7848712044ygrp-text
{font-family:Georgia;}#yiv7848712044 #yiv7848712044ygrp-text p {margin:0 0 1em
0;}#yiv7848712044 #yiv7848712044ygrp-text tt {font-size:120%;}#yiv7848712044
#yiv7848712044ygrp-vital ul li:last-child {border-right:none
!important;}#yiv7848712044