IBM WebSphere6.1 JVM 5.0 winserver 64 系统
heap Xms512m Xmx1024 运行还流畅 加大一倍到 1024 2048 怎么就奇慢无比了呢?
1、可以使用java自带的jconsole工具查看内存跑的情况
2、你的内存多大?JVM分配内存是此消彼长,蛋糕就那么大,你既然配置堆的空间增加一倍(-xms最小堆大小,-xmx最大堆大小),那栈空间和方法区的大小就得减少,是不是因为栈空间很小,导致线程数量减少,进而速度慢了?(线程跟栈帧有关)
内存大了,GC会耗时长些,会到导致系统简介性停顿
为何Xms 一开始就是1024? JVM 一般都是增量式的内存分配,Xms 不需要设成1024
winserver 不太清楚。 以我在linux下的机器情况来看,开到3000m不会存在任何问题。
所以和JVM内存大小无关。应该是代码问题,大量Full GC.