Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

JAVA performance uning on AIX 5.2

Status
Not open for further replies.

MoshiachNow

IS-IT--Management
Feb 6, 2002
1,851
IL
HI,

Does anybody have any guidence on system parameters tuning for JAVA on top AIX 5.2 ?

Hwen we run the java client on WIN2000 it runs fast,same client on Atop of IX server is quite slow.

"Long live king Moshiach !"
 
What type of App?
What level of Java? -version
What speed of processors on each?
What is the heap set to? -verbose:gc
Client or server code?
 
Hi,

1. we run some client-server printing environment production application.

2.Java131.rte.bin 1.3.1.2 COMMITTED Java Runtime Environment
Java131.rte.lib 1.3.1.2 COMMITTED Java Runtime Environment
2.3.0.0 COMMITTED RSCT GUI JAVA Msgs - U.S.
2.3.0.0 COMMITTED RSCT RMC JAVA Msgs - U.S.

3.Talking about 1-Cpu Hammerhead (44-170) and 2/4/6 CPU 6F1.

4.How to check this "heap" issue ?what is the exact command ?

5.Client java code runs fast on PC,almost same code runs slow on top of AIX 5.2

"Long live king Moshiach !"
 

Printing applications usually require that you are using GUI type stuff. AIX is tuned for server more than client so the NT may be better performing. Also you may be having problems because you might need to use a virtual X buffer for the print stuff.

2. You really should update the Java code. You are way behind and there are a lot of performance fixes. You should get the fixes up to Java131.rte.bin 1.3.1.8. When you type java -version this should show: ca131-20030329 or later.

3. With a 6F1 you are probably many times faster CPU on your PC.

4. To find out the heap usage try to use the -verbose:gc flag when you start your java application. This will cause output to stderr each time there is a garbage collection operation and one of the lines will show the amount of Free memory after the GC as well as the total size of the GC. Unless you are specifying a heap size you are probably starting out with a heap size of 4 MB which will be gradually increased as you start. It depends on how far apart the GC cycles are to determine how much this is contributing.

I talked to someone recently doing a printing application that is spawning a lot of processes to do the actual formatting of the data and it is not actually the Java that is slowing them down, but appears to be the fork call. You can do some profiling (as root) with tprof. I don't know your OS level so can't get too specific, but you can start while the applicaton is running by typeing:

tprof -ske -x "sleep 30"

At AIX 4.3.3 and 5.1 this will create __prof.all
At AIX 5.2 it will create __sleep.all.

This will tell from a kernel standpoint where the CPU is being used. Look under the FREQ part and see if it really is Java. Then look for routines taking a large part of memory. Of course if you have a lot of IO wait or idle this will show up as well. You also need to make sure you aren't I/O bound. You can also tell about lock usage and GC usage inside this.

Again sockets and server code and threads scale well on AIX, but client code with lots of strings and GUI are more based on the CPU speed and you don't gain from the superscalar processors.

 
HI,

1.Actualy our Java level is :

java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0)
Classic VM (build 1.4.0, J2RE 1.4.0 IBM AIX build ca1401-20030211a (JIT enabled: jitc))

2.We are not memory or I/O bound,no wait at all,plenty of memory.

3.It's AIX 5.2 ,no ML levels.

4.
Process Freq Total Kernel User Shared Other
======= ==== ===== ====== ==== ====== =====
/usr/java14/jre/bin/java 8 65.12 14.05 0.00 45.55 5.52
/usr/bin/X11/X 1 22.25 12.18 9.66 0.41 0.00
/scitex/version/progs/QSserver 1 2.21 0.41 1.70 0.09 0.00
/scitex/version/progs/OutputServer 1 1.99 0.28 1.70 0.00 0.00
ig 8 1.45 0.44 0.00 0.98 0.03
===========================
Process PID TID Total Kernel User Shared Other
======= === === ===== ====== ==== ====== =====
/java14/jre/bin/java 14882 39737 59.75 9.63 0.00 44.63 5.49
/usr/bin/X11/X 18408 60287 22.25 12.18 9.66 0.41 0.00
/java14/jre/bin/java 14882 42583 3.85 3.63 0.00 0.22 0.00
================================
Subroutine % Source
========== ====== ======
.unlock_enable_mem 8.78 low.s
.memmove_overlay 4.36 low.s
sc_flih_603_patch_1 1.80 low.s
art_svc_7_point 1.14 low.s
=============================
Kernel Ext %
========== ======
/usr/lib/drivers/smt_load[smt_load32] 3.95
/usr/lib/drivers/netinet[netinet32] 0.06
/usr/lib/drivers/pci/s_scsiddpin[s_scsiddpin32] 0.06
/usr/lib/drivers/nfs.ext[nfs.ext32] 0.03

Profile: /usr/lib/drivers/smt_load[smt_load32]

Total % For All Processes (/usr/lib/drivers/smt_load[smt_load32]) = 3.95

Subroutine % Source
========== ====== ======
.smselect 1.45 smt_load[smt_load32]
.smwait 0.51 smt_load[smt_load32]
.smsendbuff 0.38 smt_load[smt_load32]
.simple_lock 0.28 glink.s
.sm_wakeup 0.28 smt_load[smt_load32]




"Long live king Moshiach !"
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top