1

We have a java application which use JBoss 4.2.0, EJB, Hibernate.

In one of our production server, getting OutOfMemory error at regular interval. We are seeing user defined exceptions in the jboss and server log files. we intentionally throwing this user defined exception from our code when the user hit the particular piece of code. But the number of users and usage is more for this customer. so it throws 400-500 exceptions. After that we are getting a

WARN org.jboss.mq.SpyJMSException: No pong received; 

We have already implemented the ExceptionListener to reconnect the topicConnection in case of failure. And also some of the socketexception as below.

2012-10-12 10:33:57,824 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] (http-0.0.0.0-8880-Processor1436) Socket error caused by remote host /125.236.40.205 java.net.SocketException: Connection reset

Have analysed the heap dump generated. 4.5 GB memory is occupied by jmsspyobject exception. We have got the thread dump from jmx console. Do we need to load the copied thread dump to TDA(Thread Dump Analyzer) tool?

Is OOM because of user defined exception in so many numbers? do we need to reduce it ? or user defined exceptions are not cause for the OOM error?

Please find the attached thread log. I am very new to analyze the jboss thread logs. Could anyone help me to do this?

http://www.4shared.com/file/toRiqF1n/perf-info.html

Thanks.

user1631072
  • 51
  • 2
  • 9
  • Try to modify the -Xms -Xmx and -XX:MaxPermSize params inside the run.conf. Just multiply the default value by 2 – Luke Oct 18 '12 at 11:38
  • Thanks Luke. We have -Xmx=4096M, -Xmx=4096M and MaxPermSize=256M. I believe Increasing the memory settings may slow down the application. – user1631072 Oct 18 '12 at 14:45
  • Based on my experience, set the min and max to the same value is not good. Let the jvm do his internal works and a difference between the two to 1024M at least. Then add some memory to the permsize too...like 512M – Luke Oct 19 '12 at 09:58

0 Answers0