精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-09
建议直接在64的Solaris上跑一下试试,如果我没记错的话,solaris直接提供了工具可以检查内存等系统核心的情况,或许可以找到些线索。
|
|
返回顶楼 | |
发表时间: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) |
|
返回顶楼 | |
发表时间:2007-02-09
caocao 写道 YuLimin 写道 我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。
谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 ![]() 呵呵,今天调了一上午JVM参数,果然性能大大提升,待跑一天看看。 |
|
返回顶楼 | |
发表时间:2007-02-09
caocao 写道 caocao 写道 YuLimin 写道 我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。
谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 ![]() 呵呵,今天调了一上午JVM参数,果然性能大大提升,待跑一天看看。 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的话,注意线程、同步锁等等方面的优化,会收到很好的效果的! |
|
返回顶楼 | |
发表时间: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直接设置内存都没问题 |
|
返回顶楼 | |
发表时间:2007-02-09
YuLimin 写道 caocao 写道 caocao 写道 YuLimin 写道 我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。
谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 ![]() 呵呵,今天调了一上午JVM参数,果然性能大大提升,待跑一天看看。 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倍左右,不过系统负载不降反升,关了看看。 准备挺过周末看看调整的效果。 我这个应用没有用到任何锁机制,全部都是并发只读,可以说只有启动读入字典用了同步,没有地方用同步,不知道有哪些地方还可以对多线程优化。 |
|
返回顶楼 | |
发表时间:2007-02-10
其实如果你的内存比较够用的话,Xmn和Xmx设置成一样性能应该更好的
APR 要随时监视线程的,随着线程的增加,对性能的影响也越大的 |
|
返回顶楼 | |
发表时间:2007-02-10
wangzy 写道 32位下,不hack内核参数的话,内存顶多也就能直接访问到2g,要4g也没用。
什么?32位寻址只能到2G?谁告诉你的?这句话的上下文是什么? |
|
返回顶楼 | |
发表时间: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 还要强,那么我没有话说了。你做集群吧。 |
|
返回顶楼 | |
发表时间: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 |
|
返回顶楼 | |