Memoria da JVM
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
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
Curtidas 0
Respostas
Dyego Carmo
29/03/2010
Ele esta parando com qual mensagem de erro ?
Poderia colar aqui ?
Poderia colar aqui ?
GOSTEI 0
Victor Lima
29/03/2010
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);
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);
GOSTEI 0
Dyego Carmo
29/03/2010
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...
Aumente o tamanho da memoria da JVM do servidor e teste novamente...
GOSTEI 0
Victor Lima
29/03/2010
Valeuuu ai Dyego,
Funcionou muito bem, reparei que a JVM nao me deixa mais sem memoria.
obrigado
Funcionou muito bem, reparei que a JVM nao me deixa mais sem memoria.
obrigado
GOSTEI 0