Skip to main content

JVM Performance tuning with 11i

Following are the questions answered to one of the mailing lists. Here it is shared.....

Usually Performance issues with JVM's are related either to,

1. JDK Bugs
2. JVM thread deadlocks and memory leaks 3. Application request taking too long to process ex. long running query, poor sql, db issues or java coding 4. Poor performing Garbage collection
5. Incorrect JVM startup settings

The amount of memory that should be allocated to each JVM depends on the number of JVM's, the number of users on the system, the amount of physical memory on the middle tiers, the habits of the users and the version of the JDK used by the system. THe version of JDK being used makes a large difference to how the memory and the number of JVM's should be sized. JDK 1.3 performs better with more JVM's and less heap while JDK 1.4/1.5 performs better when there are less JVM's and more heap. Thumb rule is to have 1JVM per 2 cpu's with increased heap parameter for better performance. As a minimum 1JVM per CPU can be used.
So now you know why the crash has gone after the new changes on JVM. JVM always uses native threads to execute requests and parallel garbage collection will spawn as many threads as CPU's. GC is not parallel that is GC cannot be parallel for a single JVM but parallelism happens only when there are more than 1 JVM, so having 1JVM per 2 CPU's helps to a larger extent. This answers your question on parallel GC

(Q3). Some tips for tuning.
1. Make sure that there are not FULL GC happening very often. 2. Use OAM to track memory usage and GC 3. Use IAS_ORACLE_HOME/Apache/Jserv/logs/jvm/OACoreGroup.x.stdout to determine how often GC is occuring. Here x in the file name is the JVM number starts with 0. 4. Use debug JVM options to obtain extra information regarding Heap Performance

To know what objects are using up memory as well as how much memory is freed after the first call to the garbage collection, use Java Profile on top of the JVM. Example OptimizeIt, HPJMeter, JProbe, JVMStat, Visualgc. This answers your question on how to find the module using high JVM(Q1). Following are few links for the tools mentioned above:
http://www.quest.com/jprobe/ http://developers.sun.com/dev/coolstuff/jvmstat http://java.sun.com/performance/jvmstat/visualgc.html Once the object/code is identified, if it is a standard Oracle Apps code then you need to log a bug with Oracle Development else if its a custom object then fire the customer for it. This answers your question2. JDK 1.5 gives over 40% higher performance over JDK 1.4. So higher the version of JDK better is the performance. Ask your customer to upgrade the JDK. Hope my few cents help.

Comments

Popular posts from this blog

Basics of RDBMS

Data Small set of information becomes data, this set of information helps make decision. Data is always some useful information. Database Place where you store the data. Database represents some aspect of the real world called "miniworld". A database is designed, built and populated with data for a specific purpose. It has intended group of users and some preconceived applications in which these users are interested. In other words, a database has some source from which data is derived, some degree of interaction with events in the real world and an audience that is actively interested in the contents of the database. Database can also be defined as collection of one or more tables. Ex: Mobile, human brain etc DBMS (Database Management System ) Is a program that stores retrieves and modifies data in the database on request. Study of different techniques of design, development and maintenance of the database Types of DBMS These types are based upon their m...

SQL Interview Questions

1. CLICK HERE FOR QUESTIONS ON BASIC SELECT     2. CLICK HERE FOR QUESTIONS ON BASIC SELECT WITH CONDITION   3.  CLICK HERE FOR QUESTIONS FROM QSPIDERS   4. CLICK HERE FOR QUESTIONS ON FUNCTIONS   5. CLICK HERE FOR QUESTIONS ON SUBQUERIES 6. CLICK HERE FOR MORE QUESTIONS ON SQL       CLICK HERE FOR ANSWERS   Some more Online Questions.   On WIZIQ.COM  -- 66 Questions and its answers Found by Neha Abhay Kumar   On SCRIBD.COM   -- 235 Questions and its answers