###@###.### 2004-08-19
J2SE Version (please include all output from java -version flag):
java version "1.5.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta3-b60)
Java HotSpot(TM) Client VM (build 1.5.0-beta3-b60, mixed mode)
Does this problem occur on J2SE 1.3, 1.4 or 1.4.1? Yes / No (pick one)
No
Operating System Configuration Information (be specific):
Opteron: dual Opteron 146, 6gb ram, 2x72gb 10k rpm U320W drives in raid0
Linux 2.4.25, glibc 2.3.2
x86: dual Xeon 2.6 ghz, 2gb ram, 2x36gb 10k rpm U160W drives in raid0
Linux 2.4.25, glibc 2.3.2 and tested also with Linux 2.4.20, glibc 2.2.5
Hardware Configuration Information (be specific):
Opteron:
2xopteron 146
6gb of ddr ram
x86:
dual xeon with 2.66 Ghz - with enabled hypertread.
4gb of ram.
On both systems there is 4gb of swap space - but system does not swap.
Bug Description:
Having problems with performance of JDK on opteron. When
running our aplication(IndexServer) with big index file(13gb),
performance of it becomes very slow with long GC times - up to 4 seconds
(changing heap size or options for different gc behaviour doesn't help).
Tests were made on jdk 1.5.0 beta3 build60, Linux, glibc 2.3.2. When
testing same on Intel x86, doesn't make problems.
Attached 2 verbose gc data for both opteron and x86; gc-opteron-client.log
and gc-x86-client.log. Both are running with switch -client. There are some
checkpoints inside log file, which means output from the aplication.
Checkpoint "IndexDirectory started on //...../TridentIndexDirectory" is
line between startup of data and running load on it.
Best performance of out aplication we got with this JVM parameters:
-server -XX:+UseSerialGC -XX:+UseAdaptiveSizePolicy
Using paralel gc or incremental gc brings to 10 times slower performance.
That is the reason why we are using client VM not server VM.
Keep in mind that we are only using 2 xeon cpus (which "acts" like 4 cpus).
We didn't make any tests with paralel gc on machines with more cpus than 2
(also 2 opteron and itanium cpus)
We are using MX and MS for sure. Our applications are much big:
With intel default settings - now are 1024 Mb for MX and 768 for MS.
With opteron it works with 1600 for MX and about 1300 for MS.
Try to optimize gc with time ratios, which comes with
-XX:UseAdaptiveSizePolicy, but no special efect.
###@###.### 11/1/04 19:24 GMT