论坛首页 Java企业应用论坛

提问:如何超越JVM内存限制?

浏览 19818 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-08  
java在64位的可控内存是多少?没在64的测试过,那位知道?
我现在的应用部署在32位PC服务器上,win,总是有那种报表会相当大,运算需要的内存可能超过1.5G,每当这个时候应用就会异常退出------我们目前是直接在weblogic下运行,也考虑过单独启动一个服务来执行这种大报表,但是万一还是有超出内存限制的报表,还是解决不了,所以现在也还没改这个。在不改变程序情况下(报表计算并不是自己的写的代码,而是第三方产品),能否有方法解决这个问题。

 
   发表时间:2006-12-08  
Java Doc里面没有说有限制。
估计是受限于操作系统吧。32bit Windows上最多可管理4G还是8G内存。
0 请登录后投票
   发表时间:2006-12-08  
Lucas Lee 写道
Java Doc里面没有说有限制。
估计是受限于操作系统吧。32bit Windows上最多可管理4G还是8G内存。

是2G。
这确实受限于操作系统的进程模型。但是我们的应用是否有方法能突破来解决这问题呢?随便想的,对于我这个提问,好像不大能指望解决了。郁闷!
通常的工程应用还是可以绕过大内存操作,但是有的专业领域,如卫星图像处理,大约会有大内存操作吧?不知道在这类方面,是否有Java的应用。
0 请登录后投票
   发表时间:2006-12-08  
win32 XP/2003下面,通过修改boot.ini,是可以让应用空间到3G的。
0 请登录后投票
   发表时间:2006-12-08  
lixigua 写道
Lucas Lee 写道
Java Doc里面没有说有限制。
估计是受限于操作系统吧。32bit Windows上最多可管理4G还是8G内存。

2G。
这确实受限于操作系统的进程模型。但是我们的应用是否有方法能突破来解决这问题呢?随便想的,对于我这个提问,好像不大能指望解决了。郁闷!
通常的工程应用还是可以绕过大内存操作,但是有的专业领域,如卫星图像处理,大约会有大内存操作吧?不知道在这类方面,是否有Java的应用。



这么说我可以给tomcat的jvm虚拟机分配2g的内存了?

JAVA_OPTS='-Xms1024 -Xmx2000  ??
0 请登录后投票
   发表时间:2006-12-08  
avaj 写道
lixigua 写道
Lucas Lee 写道
Java Doc里面没有说有限制。
估计是受限于操作系统吧。32bit Windows上最多可管理4G还是8G内存。

2G。
这确实受限于操作系统的进程模型。但是我们的应用是否有方法能突破来解决这问题呢?随便想的,对于我这个提问,好像不大能指望解决了。郁闷!
通常的工程应用还是可以绕过大内存操作,但是有的专业领域,如卫星图像处理,大约会有大内存操作吧?不知道在这类方面,是否有Java的应用。



这么说我可以给tomcat的jvm虚拟机分配2g的内存了?

JAVA_OPTS='-Xms1024 -Xmx2000  ??


-Xms1024 -Xmx2000  的含义请google
0 请登录后投票
   发表时间:2006-12-08  
可以设置的最大JVM内存和JVM版本以及操作系统版本有关,一般Windows下1200-1500M左右,Linux下最大能到2600M;
具体可以使用命令 java -XmxXXXXM -version 来进行测试(如:java -Xmx1024M -version),然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息。
0 请登录后投票
   发表时间:2006-12-10  
lixigua 写道
Lucas Lee 写道
Java Doc里面没有说有限制。
估计是受限于操作系统吧。32bit Windows上最多可管理4G还是8G内存。

是2G。
这确实受限于操作系统的进程模型。但是我们的应用是否有方法能突破来解决这问题呢?随便想的,对于我这个提问,好像不大能指望解决了。郁闷!
通常的工程应用还是可以绕过大内存操作,但是有的专业领域,如卫星图像处理,大约会有大内存操作吧?不知道在这类方面,是否有Java的应用。


32bit的寻址空间是2G,但windows可以用其他方式增大这个能力。我用过的一台跑windows advanced server的机器就有4G内存(4CPU),所以4G至少是支持的。
0 请登录后投票
   发表时间:2006-12-10  
windows2003 server enterprise x86 支持 32G内存
0 请登录后投票
   发表时间:2006-12-10  
系统可用内存并不等于JVM可用内存。
32位的Windows 2003下单个JVM测试的是2G。所以要充分利用内存,就要考虑跑多个JVM。据说Sun的Solaris可以到8G。
0 请登录后投票
论坛首页 Java企业应用版

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