精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-08
机器环境,FC6.0,双扣肉,4G内存,双SCSI做Raid 0。 对照JVM是JDK 5.0 update 10 32bit。 机器跑的是Tomcat,基于Lucene的搜索引擎。 参见我自制的系统负载图,可以看到晚上最忙的时段负载64bit明显高出一大块。 我猜测可能是64bit需要大内存伺候,我开给JVM的内存都是2.4G,其余内存要跑后台好些任务。2.4G对64bit来说可能太少了,因此JVM可能在频繁GC。 请大家谈谈可能会是什么原因?我准备roll back到32bit。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-02-08
试试JDK1.6会不会好一些?
|
|
返回顶楼 | |
发表时间:2007-02-08
我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。
|
|
返回顶楼 | |
发表时间:2007-02-08
YuLimin 写道 我用Solaris 10 + JRockit 5/64Bit,跑Application,每秒600个请求,CPU不超过20%,内存只开1G,Sun JDK的没有试过,你可以先进行相关JVM参数的调整再看看,然后有机会可以试试JRockit看看。
谢谢指点,可能你的应用对内存需求不大,我有机会也试试看JRockit。 |
|
返回顶楼 | |
发表时间:2007-02-08
我的经验也表明,在64bit OS上面,应用程序的物理内存耗用量明显上升,甚至翻番,4G内存实在不算多。
我对比过用32bit OS和64 bit OS跑JavaEye网站,64bit下面明显要跑得快一些。 |
|
返回顶楼 | |
发表时间:2007-02-08
robbin 写道 我的经验也表明,在64bit OS上面,应用程序的物理内存耗用量明显上升,甚至翻番,4G内存实在不算多。
我对比过用32bit OS和64 bit OS跑JavaEye网站,64bit下面明显要跑得快一些。 64bit的4G应该就是32bit的2G. |
|
返回顶楼 | |
发表时间:2007-02-08
XMLDB 写道 robbin 写道 我的经验也表明,在64bit OS上面,应用程序的物理内存耗用量明显上升,甚至翻番,4G内存实在不算多。
我对比过用32bit OS和64 bit OS跑JavaEye网站,64bit下面明显要跑得快一些。 64bit的4G应该就是32bit的2G. 谢谢两位的经验,内存暂时无法加大,只好用回32bit了。 |
|
返回顶楼 | |
发表时间:2007-02-08
XMLDB 写道 robbin 写道 我的经验也表明,在64bit OS上面,应用程序的物理内存耗用量明显上升,甚至翻番,4G内存实在不算多。
我对比过用32bit OS和64 bit OS跑JavaEye网站,64bit下面明显要跑得快一些。 64bit的4G应该就是32bit的2G. 没有这种说法,同样的应用,64bit机器用4G肯定比32bit用2G更宽裕。 但目前我也不太清楚为什么64bitOS上面,应用程序的物理内存空间占用会明显上升。 |
|
返回顶楼 | |
发表时间:2007-02-08
32位下,不hack内核参数的话,内存顶多也就能直接访问到2g,要4g也没用。
这个gc频繁,可能需要调整些参数才行。 我站点用了64位,当时主要目的是想充分利用“便宜的内存”,用下来效果也还不错。 |
|
返回顶楼 | |
发表时间:2007-02-08
具体还是看应用吧,建议用JRockit的MC工具来监控检查一下看看,这个工具还是不错的,开发者可以试用三个月,可以找找相关的一些内存的问题。
我在用MC的时候发现String这东东占的内存不少。所以还是要注意一下的: 1、注意String这东东; 2、打logger时,用if(logger.isDebugged())或if(logger.isInfoed()){...还打logger出来;} 各自的应用不一定一样,仅供参加。 |
|
返回顶楼 | |