Fórum Memoria da JVM #131288

29/03/2010

0

 Bom dia.


 Alguem sabe onde posso ver se o resultado obtido pelo comando que adicionei no arquivo catalina.sh

na linha.

...
    [10:51:29] ­# Set juli LogManager if it is present
if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then
  JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms512m -Xmx2024m -XX:MaxPermSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC"
  LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
fi ...


O que alterei foi somente a linha de comando. :
-Xms512m -Xmx2024m -XX:MaxPermSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

Meu tomcat esta parando todo tempo. e nao sei se essa linha de comando está resolvendo.


Estou usando um Servidor.  Ubuntu 9.04 , CORE 2 duo 1gb , Memoria 8GB.  JVM 1.6 , Tomcat 6.


 Gostaria de saber onde vejo que a memoria aumentou realmente para JVM.


obrigado

Victor Lima

Victor Lima

Responder

Posts

29/03/2010

Dyego Carmo

Ele esta parando com qual mensagem de erro ?

Poderia colar aqui ?

Responder

Gostei + 0

29/03/2010

Victor Lima

Não erro, java.lang.OutOfMemoryError: Java heap space

E as vezes nao da erro o servidor para literalmente tendo que reiniciar.

 Tenho umas 15 classes e todas elas anotadas com session. Assim:  como exemplo

@Controller("recepcaoController")
@Scope(value = "session")
public class RecepcaoController {

    private Recepcao recepcao;
    private OrdemCompra ordemCompra;
    private ItensOrdemCompra itensOrdemCompra;
    private ItensRecepcao itensRecepcao;
    private Produto produto;
    private LocalidadeRack localidadeRack;
// injecao do spring
    @Resource
    private DaoGenerico<Recepcao, Integer> recepcaoDao;
    @Resource
    private DaoGenerico<LocalidadeRack, Integer> localidaderackDao;
    @Resource
    private DaoGenerico<Deposito, Integer> depositoDao;
    @Resource
    private DaoGenerico<OrdemCompra, Integer> ordemCompraDao;
    @Resource
    private DaoGenerico<Fornecedor, Integer> fornecedorDao;
    @Resource
    private DaoGenerico<ItensOrdemCompra, Integer> itensOrdemCompraDao;
    @Resource
    private DaoGenerico<ItensRecepcao, Integer> itensrecepcaoDao;
    @Resource
    private DaoGenerico<Produto, Integer> produtoDao;
    @Resource
    private DaoGenerico<RecepcaoItensTemporal, Integer> recepcaoItensTemporalDao;
    private ArrayList<ItensStatusRecepcaoBean> itensStatusRecepcaoBeanList = new ArrayList<ItensStatusRecepcaoBean>();
    private HashMap<Integer, ItensRecepcaoBean> itensRecepcaoBean = new HashMap<Integer, ItensRecepcaoBean>();
    private ArrayList<ItensRecepcaoBean> itensRecepcaoBeanList = new ArrayList<ItensRecepcaoBean>();
    private ItensStatusRecepcaoBean statusRecepcaoBean;
    private ItensRecepcaoBean itensRecepcaoSeries;
    private ArrayList<SeriesLogError> seriesLogError = new ArrayList<SeriesLogError>();
    private DataModel model;
    private DataModel modelDeposito;
    private DataModel itensModelOrdens;
    private DataModel itensModelRecepcao;
    private DataModel modelRack;
    private DataModel modelRua;
    private Date data1;
    private Date data2;
    private int maxPorPagina = 40;
    private int paginaAtual = 0;
    private String fornecedor;
    private double totalSerie;
    private double totalEscaneado;
    private String serial;
    private String cod_patrimonio;
    private Integer cod_deposito = null;
    private String desc_name_deposito;
    private Integer id_local = null;
    private String desc_local;
    private Integer andar = 0;
    private Integer predio = 0;
    private Integer bloco = 0;
    private String rua;
    public ArrayList<SelectItem> itensRuas;
    private Iterable<Object> ruas;
    private EntityManagerFactory emf;
    private EntityManager em = getEMF().createEntityManager();
    private int uploadsNum = 1;
    private int contError = 0;
    private boolean isquant = false;
    private boolean tabEscaneo = true;
    private String serieIni;
    private String serieFim;
    private int quant = 0;


    FacesContext fc = FacesContext.getCurrentInstance();
    HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
Responder

Gostei + 0

29/03/2010

Dyego Carmo

Seu problema esta carregando muitos mais dados que o possivel para a memoria , por isso dá java heap space...

Aumente o tamanho da memoria da JVM do servidor e teste novamente...

Responder

Gostei + 0

30/03/2010

Victor Lima

Valeuuu ai Dyego,

 Funcionou muito bem, reparei que a JVM nao me deixa mais sem memoria.


 obrigado

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar