WebSphere V6.0.2 and JVM 1.4.2 tuning on Solaris 10

I have been asked this information many time so here is how you should tune the JVM for WebSphere Application Server on Solaris 10.

The tuning knobs of interest:


  • initialHeapSize= eg. 2048
  • maximumHeapSize= eg. 2048
  • -server
  • -Xnoclassgc May not be needed for every other app
  • -Xmn1024m At least 50% of the heap size; more may be better
  • -XX:-UseAdaptiveSizePolicy
  • -XX:MaxTenuringThreshold=4
  • -XX:+UseParallelGC
  • -XX:ParallelGCThreads= either equal to number of cpu or on multi core systems set it to somewhere between .5-1xNumber of cores.
  • -XX:+AggressiveHeap

Couple of things to note here when doing experimental work:
You can try scaling up MaxTenuringThreshold to find out really at what time the object need to be promoted. Then similar things can be tried for Xmn or new generation size if you know for sure that you are going to generate lot of short lived objects then set it to higher percentage of Maximum Heap size.
The other usual WebSphere App Server tuning would include following params:
ORB Thread Pool
WebContaine Thread Pool
JDBC Connections
EJB Cache
HTTP Transport

KeepAlive

maxPersistentRequests

maxPersistentTimeout

maxReadTimeout

maxWriteTimeout

More about java performance check out:
http://java.sun.com/javase/technologies/performance.jsp

Comments:

Can the following setting will work for IBM JVM & Windows OS

Posted by manijha on March 04, 2007 at 03:15 PM PST #

IBM JVM has different set of tunables. On Solaris platform WebSphere uses Sun JVM which has different set of tunings.

Posted by Dileep on March 05, 2007 at 11:18 AM PST #

Dileep,

Can you provide more help on tuning Websphere 6.1 on Solaris 10 T2000.

Tuning GC, thread pool, EJB cache was of very little help.

The application takes more than normal (three folds) to execute.

Posted by 123 on October 06, 2007 at 04:31 AM PDT #

I need to tune IBM JVM on Solaris 10,i need the JVM Arguments for IBM JVM. Can you help me in this.

Posted by Deepak on July 09, 2008 at 08:31 PM PDT #

----------------------------------------------------------------
-Xnoclassgc May not be needed for every other app
-Xmn1024m At least 50% of the heap size; more may be better
----------------------------------------------------------------
The newest offecial Doc from IBM mentioned that the -Xnoclassgc may cause many problem, don't use it anymore. the old doc in InfoCenter is outdated.

And,in the IBM Info Center, -Xmn should not more than 1/4 of max heap size.

Posted by anonymous on March 29, 2009 at 07:27 PM PDT #

-Xnoclassgc - as I said it may not be needed. If you don't see class gc happening in your native_stdout.log.
For the new gen sizing it depends on the application and if your application is generating lot of short lived object, which is most usual case, then sizing young generation big will result into perf improvements.
The best way to assess this is to turn on the GC log and study it for typical load and that will give you the right idea. Most of the documents are based on some application which may not be representative of your application so finding out yourself is the best way to move forward.

Posted by Dileep Kumar on March 31, 2009 at 08:04 AM PDT #

Post a Comment:
Comments are closed for this entry.
About

dkumar

Search

Archives
« May 2015
SunMonTueWedThuFriSat
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Today