论坛首页 Java企业应用论坛

试用一把64位JVM,未见性能提升,还有明显下降

浏览 24401 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-02-09  
建议直接在64的Solaris上跑一下试试,如果我没记错的话,solaris直接提供了工具可以检查内存等系统核心的情况,或许可以找到些线索。
0 请登录后投票
   发表时间:2007-02-09  
wangzy 写道
32位下,不hack内核参数的话,内存顶多也就能直接访问到2g,要4g也没用。

这个gc频繁,可能需要调整些参数才行。

我站点用了64位,当时主要目的是想充分利用“便宜的内存”,用下来效果也还不错。


呵呵,可以超过2G,下面是我测试的结果,环境FC6.0 64bit, JDK 1.5.0_11-b03 32bit

[root@localhost tmp]# java -Xmx2661m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
[root@localhost tmp]# java -Xmx2660m -version
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Server VM (build 1.5.0_11-b03, mixed mode)
0 请登录后投票
   发表时间:2007-02-09  
caocao 写道
YuLimin 写道
我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。


谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 


呵呵,今天调了一上午JVM参数,果然性能大大提升,待跑一天看看。
0 请登录后投票
   发表时间:2007-02-09  
caocao 写道
caocao 写道
YuLimin 写道
我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。


谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 


呵呵,今天调了一上午JVM参数,果然性能大大提升,待跑一天看看。
把相关的环境与调优的过程总结一下拿出来分享。另外介绍OnJava上面的一篇文章给你参考:

Scaling Enterprise Java on 64-bit Multi-Core X86-Based Servers
http://www.onjava.com/pub/a/onjava/2006/11/01/scaling-enterprise-java-on-64-bit-multi-core.html

介绍如何在64位多核CPU的Server上进行优化J2EE应用,包括JVM调优,使用新的API,比如:Concurrent、NIO以及优化代码等等。

如果你用的JDK5.0的话,注意线程、同步锁等等方面的优化,会收到很好的效果的!
0 请登录后投票
   发表时间:2007-02-09  
caocao 写道
wangzy 写道
32位下,不hack内核参数的话,内存顶多也就能直接访问到2g,要4g也没用。

这个gc频繁,可能需要调整些参数才行。

我站点用了64位,当时主要目的是想充分利用“便宜的内存”,用下来效果也还不错。


呵呵,可以超过2G,下面是我测试的结果,环境FC6.0 64bit, JDK 1.5.0_11-b03 32bit

[root@localhost tmp]# java -Xmx2661m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
[root@localhost tmp]# java -Xmx2660m -version
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Server VM (build 1.5.0_11-b03, mixed mode)


我以为是FC 32bit的版本呢

以前装oracle的时候,如果不进行一些hack,SGA上不了2g以上
最近有个系统,直接64bit的操作系统,oracle直接设置内存都没问题
0 请登录后投票
   发表时间:2007-02-09  
YuLimin 写道
caocao 写道
caocao 写道
YuLimin 写道
我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。


谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 


呵呵,今天调了一上午JVM参数,果然性能大大提升,待跑一天看看。
把相关的环境与调优的过程总结一下拿出来分享。另外介绍OnJava上面的一篇文章给你参考:

Scaling Enterprise Java on 64-bit Multi-Core X86-Based Servers
http://www.onjava.com/pub/a/onjava/2006/11/01/scaling-enterprise-java-on-64-bit-multi-core.html

介绍如何在64位多核CPU的Server上进行优化J2EE应用,包括JVM调优,使用新的API,比如:Concurrent、NIO以及优化代码等等。

如果你用的JDK5.0的话,注意线程、同步锁等等方面的优化,会收到很好的效果的!


谢谢,你给的链接受益匪浅。
我的应用是基于lucene的搜索引擎,我调整了两个参数-Xmn和-XX:+UseConcMarkSweepGC,本来Xmn是Xmx的1/3,现在调整到1/2,性能提升明显,再加-XX:+UseConcMarkSweepGC。
还有一个相当重要的是我还关掉了APR,虽然APR能减少活动线程10倍左右,不过系统负载不降反升,关了看看。
准备挺过周末看看调整的效果。
我这个应用没有用到任何锁机制,全部都是并发只读,可以说只有启动读入字典用了同步,没有地方用同步,不知道有哪些地方还可以对多线程优化。
0 请登录后投票
   发表时间:2007-02-10  
其实如果你的内存比较够用的话,Xmn和Xmx设置成一样性能应该更好的

APR 要随时监视线程的,随着线程的增加,对性能的影响也越大的
0 请登录后投票
   发表时间:2007-02-10  
wangzy 写道
32位下,不hack内核参数的话,内存顶多也就能直接访问到2g,要4g也没用。



什么?32位寻址只能到2G?谁告诉你的?这句话的上下文是什么?
0 请登录后投票
   发表时间:2007-02-11  
双扣肉?是1066MHz总线的?不是双核至强 ?
你用桌面级别的CPU想跑好WEB应用是不可能的。64位出来这么久那里看出他的好处了?你的TOMCAT是64位的?内存再大也没有吧?这本来就是CPU的运算能力的问题


酷睿系列的 和 双核至强 是没有可比性的。

做WEB服务器(硬件)的CPU 用双核至强会好很多,
比如双核至强  5110  (1.6G ,4M cash)这个CPU
虽然也是1066MHz的总线。但是比前一代3G的至强 提升了130%的计算能力。5110的TDP只有65W 。用来做1U的主机最合适不过了。

说到这个,我认为也要分应用的场合。
SUN的哪个8核心的WEB服务器CPU频率够底了。但是跑WEB服务的性能真是没有话说啊。

如果你的CPU比双核至强  5110  还要强,那么我没有话说了。你做集群吧。
0 请登录后投票
   发表时间:2007-02-11  
YRHYRH 写道
双扣肉?是1066MHz总线的?不是双核至强 ?
你用桌面级别的CPU想跑好WEB应用是不可能的。64位出来这么久那里看出他的好处了?你的TOMCAT是64位的?内存再大也没有吧?这本来就是CPU的运算能力的问题


...


呵呵,就是你说的5110,因为核心是扣肉的,俺叫扣肉叫习惯了。现在CPU压力不大,每天接近百万的搜索量,load average<1。
SUN的东西我们暂时玩不起,以前我在eBay的时候倒是玩过很多。

附上信息:
model name      : Intel(R) Xeon(R) CPU            5110  @ 1.60GHz
stepping        : 6
cpu MHz         : 1595.939
cache size      : 4096 KB
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics