User needs to print a lot of invoices/bills to customer, reports are generated via Jasper Reports as PDF files (server side) and sent to the user's browser for printing.ģ. As stated above, the user load is about 500 ~ 600 during peak hour. This is an enterprise level system that is being deployed nationwide, it consists of sales force automation, logistics and inventory (inclusive of stock distribution nationwide), customer service and some portions of CRM as well. In fact we have 3 tomcats but all of them is fully used with 2G when come to peak time. But, in short time, we not sure what to do with the system to make it not to down so many time in a day. Sometimes, Java application server required more than 4G does not make sense, that's what I feel. Unless you have huge numbers of users, or >vast memory requirements for each one, something is wrong with the implementation.Ĭould you tell us a bit more about your application so that we can gauge whether there is a more >fundamental problem ?I am defintely agreed with your statement.
We need to determine if there is a memory leak in your applications One of the ways to find out is if your old generation keeps growing over a period of time and GC's does not recover any memory.Īlso what is the type of your application ? Do you create a lot of short lived objects ? We need to determine if there is a memory leak in your applications. We think it's must be out of memory issue cause when come to peak time, the top (RSS for java) showed the maximum memory set which is the Xmx. We found that tomcat servers cannot take the load and hang later exit by itself. Profile your application first and remove any memory leaks, closing and releasing resources related to IO, JDBC etc. See your GC generations grow over a period of timeģ. See how your GC generations grow over a period of timeĢ. XX:PermSize=160M -XX:MaxPermSize=160M -XX:+UseParallelGC -XX:NewSize=800M -XX:MaxNewSize=800M -XX:SurvivorRatio=8 -Xms2048m -Xmx2048m -Xnoclassgc -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistributionĬhong, do some load testing and monitor heap usage:ġ. These are my reocommendations and use this as a starting point: XX:PermSize=80M -XX:MaxPermSize=160M -XX:+UseParallelGC -XX:NewSize=128M -XX:MaxNewSize=128M -XX:SurvivorRatio=2 -XX:+UseConcMarkSweepGC -Xms512m -Xmx2048m -Xrs 1.7K Training / Learning / Certification.165.3K Java EE (Java Enterprise Edition).7.9K Oracle Database Express Edition (XE).3.8K Java and JavaScript in the Database.