Foros de discusión

Gestione e consumo delle risorse

thumbnail
Domenico Pavone, modificado hace 9 años.

Gestione e consumo delle risorse

New Member Mensajes: 22 Fecha de incorporación: 9/09/14 Mensajes recientes
Salve a tutti,
da un pò utilizzo Liferay versione 6.1 ce (sviluppo e server di produzione) e mi sono accorto che più risorse allochiamo più liferay ne ciuccia.
Mi spiego meglio tempo fa ho aumentato la memoria della JVM del server Tomcat perchè mi andava in out of memory dopo 20 giorni di funzionamento consumando il misero 1 giga di default.
Ho pensato che per un server di produzione che gestisce un sacco di chiamate forse era poco, quindi ho portato a 2 GB la memoria del Server Tomcat pensando di risolvere il problema dei crash per consumo di memoria.
Da qualche giorno sto monitorando come va e mi sono accorto che il consumo di memoria sembra essere cresciuto in proporzione all'ampliamento.
Ma qualcuno mi sa dire come mai tutto sto consumo di memoria?
Ancora una domanda ma il garbace collector java non dovrebbe eseguirlo automaticamente per evitare di andare in crash per mancanza di memoria?

Saluti a tutti fatemi sapere
thumbnail
Daniele Baggio, modificado hace 9 años.

R: Gestione e consumo delle risorse

Expert Mensajes: 336 Fecha de incorporación: 5/12/08 Mensajes recientes
Da cosa vedi questo consumo di memoria? Che tool usi x monitorare?
Daniele


Sent from my Android device with Liferay.com Forums
thumbnail
Domenico Pavone, modificado hace 9 años.

RE: R: Gestione e consumo delle risorse

New Member Mensajes: 22 Fecha de incorporación: 9/09/14 Mensajes recientes
Non uso tool. Guardo direttamente il monitor di sistema offerto da Liferay dove è possibile lanciare il garbage collector e tutte le altre funzionalità
Control Panel >> Server >> Gestione server

Ciao
thumbnail
Marco Rosetti, modificado hace 9 años.

RE: Gestione e consumo delle risorse

Junior Member Mensajes: 68 Fecha de incorporación: 6/03/13 Mensajes recientes
Ciao,
hai installato portlet custom o usi solo quelle di Liferay?
Da quel che dici mi sembra tu abbia un problema di memory leak: in parole povere alcune classi istanziate mantengono riferimenti ad altre classi istanziate e il garbage collector, quando passa, non le può eliminare. In questo caso l'aumentare la memoria massima disponibile non fa che ritardare il problema, non lo risolve.
Se è questo il caso dovresti profilare la tua installazione . E' un "sporco lavoro" (ma qualcuno lo deve pur fare) ma ci sono parecchi tool in giro sia free che a pagamento che ti possono aiutare. Se usi una JDK standard dovrebbe esserci già jvisualvm che è un buon punto di partenza.

Se non riesci a venirne a capo puoi sempre valutare uno script automatico di riavvio del server, magari notturno, magari in periodi di scarico (ad es. di notte). Ovvio che questo non risolve il problema a monte
thumbnail
Domenico Pavone, modificado hace 9 años.

RE: Gestione e consumo delle risorse

New Member Mensajes: 22 Fecha de incorporación: 9/09/14 Mensajes recientes
Grazieeeee,
allora io uso principalmente le portlet di default di Liferay, poche customs, qualkche hooks e qualche portlet scaricata come quella della galleria fotografica. Penso che le tue osservazioni possono essere giuste mi rendo conto, ma se il garbace collector lo lancio a mano io, allora pulisce in automatico no?
Cmq per ora sta funzionando mi sono accorto che sta gestendo le risorse in maniera automatica. Il consumo della memoria sale e scende senza che io faccia niente prima saliva solamente e si saturava...
Vedremo che succede cmq l'idea di mettere una pezza con lo script di riavvio è buona.
thumbnail
Mauro Mariuzzo, modificado hace 9 años.

R: Gestione e consumo delle risorse (Respuesta)

Regular Member Mensajes: 142 Fecha de incorporación: 23/07/07 Mensajes recientes
Se non hai effettuato alcun tuning, il meccanismo di garbaging della jvm è patallel. significa che gli oggetti vecchi restano nella Old finchè questa non raggiunge la soglia di saturazione (~80%) che fa scattare una full garbage.

Questo comportamento a 'dente di sega' è normale e capita anche con 10-12GB di heap.

In ogni caso, usando Liferay meccanismi di caching, 1GB di heap è pochino x una installazione in produzione. In base a quantità dei contenuti presenti consiglio di partire con 4 e tunarli poi.

puoi usare jmap o jstat per fare delle fotografie periodiche alla memoria e capire il suo impegno nel tempo.

puoi usa ConcMarkSweep come meccanismo di garbaging

puoi abilitare, via property, le statistiche di ehcache e controllarle con jvisualvm o jconsole. e capire così quanto heap sarà sempre occupato

Sent from my Android device with Liferay.com Forums
thumbnail
Marco Rosetti, modificado hace 9 años.

RE: R: Gestione e consumo delle risorse (Respuesta)

Junior Member Mensajes: 68 Fecha de incorporación: 6/03/13 Mensajes recientes
Mauro Mariuzzo:
Se non hai effettuato alcun tuning, il meccanismo di garbaging della jvm è patallel. significa che gli oggetti vecchi restano nella Old finchè questa non raggiunge la soglia di saturazione (~80%) che fa scattare una full garbage.

Questo comportamento a 'dente di sega' è normale e capita anche con 10-12GB di heap.

In ogni caso, usando Liferay meccanismi di caching, 1GB di heap è pochino x una installazione in produzione. In base a quantità dei contenuti presenti consiglio di partire con 4 e tunarli poi.

puoi usare jmap o jstat per fare delle fotografie periodiche alla memoria e capire il suo impegno nel tempo.

puoi usa ConcMarkSweep come meccanismo di garbaging

puoi abilitare, via property, le statistiche di ehcache e controllarle con jvisualvm o jconsole. e capire così quanto heap sarà sempre occupato

Sent from my Android device with Liferay.com Forums


amen emoticon