Eclipse Rcp应用程序中jvm内存问题

时间:2023-01-18 23:26:18
用Eclipse Rcp开发的桌面应用程序,需要配置java visual machine内存,在windows32位机子上设置内存为1024m的时候,会出现程序无法运行的错误,求解。

11 个解决方案

#1


[img=http://b96.photo.store.qq.com/psb?/V11B5L424U5UrW/tPsXzXN3yvHDQ89PBFdkkA*6Yi3CwhWOwZFBeFsPsSM!/b/YQx.OzkIHwAAYmIMPTmpHgAA][/img]

#2


用不了那么大的内存吧,把内存改小点

#3


引用 2 楼 dxqrr 的回复:
用不了那么大的内存吧,把内存改小点

因为软件属于大数据处理软件,所以需要开高内存,以保证在运行过程中不会出现内存溢出而程序关闭的问题。

#4


有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。

#5


引用 3 楼 mykittyhb 的回复:
引用 2 楼 dxqrr 的回复:

用不了那么大的内存吧,把内存改小点

因为软件属于大数据处理软件,所以需要开高内存,以保证在运行过程中不会出现内存溢出而程序关闭的问题。


那是你参数有问题

-XX:PermSize=64M -XX:MaxPermSize=256M

导致内存溢出一般是这两个参数没配置导致的。

#6


引用 4 楼 chensuper 的回复:
有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。


我也觉得jvm最大内存和系统硬件配置有关,但是还有一个问题就是,第一天1024可以运行的pc,第二天的时候就无法运行,过段时间又可以运行了,这个是什么原因

#7


引用 5 楼 chensuper 的回复:
引用 3 楼 mykittyhb 的回复:

引用 2 楼 dxqrr 的回复:

用不了那么大的内存吧,把内存改小点

因为软件属于大数据处理软件,所以需要开高内存,以保证在运行过程中不会出现内存溢出而程序关闭的问题。


那是你参数有问题

-XX:PermSize=64M -XX:MaxPermSize=256M

导致内存溢出一般是这两个参数没配置导致的。


恩,我有注意到这个,当-XX:MaxPermSize + -Xmx 超过系统允许的jvm最大内存时,会出现内存溢出的问题。

还有如果我用命令 java -Xmx1024M -version,查看jre内存时,最大上限是1500M左右,但是,当程序运行时,却无法实现这么高。

谢谢

#8


该回复于2011-12-15 16:45:12被版主删除

#9


引用 6 楼 mykittyhb 的回复:
引用 4 楼 chensuper 的回复:

有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。


我也觉得jvm最大内存和系统硬件配置有关,但是还有一个问题就是,第一天1024可以运行的pc,第二天的时候就无法运行,过段时间又可以运行了,这个是什么原因

那无法运行时有异常或错误吗,
程序既然可以继续运行说明无法运行的现象没有将程序中断
1024虽然挺大其它配置可能小了,程序如果是因为可用内存小而腾挪倒转耗时速度又慢

#10


引用 9 楼 dracularking 的回复:
引用 6 楼 mykittyhb 的回复:

引用 4 楼 chensuper 的回复:

有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。


我也觉得jvm最大内存和系统硬件配置有关,但是还有一个问题就是,第一天1024可以运行的pc,第二天的时候就无法运行,过段时间又可以运行了,这个是什么原因

那无法运行时有异常或错误吗,
程序既然可以继续运行说明无法运……


有没有具体的文件讲述关于jvm内存和系统硬件的关系?

#11


http://fengyouhua.iteye.com/blog/58170
http://developer.51cto.com/art/200907/135038.htm
除了查一下jvm内存设置相关资料,再有可能要看深入虚拟机了

#1


[img=http://b96.photo.store.qq.com/psb?/V11B5L424U5UrW/tPsXzXN3yvHDQ89PBFdkkA*6Yi3CwhWOwZFBeFsPsSM!/b/YQx.OzkIHwAAYmIMPTmpHgAA][/img]

#2


用不了那么大的内存吧,把内存改小点

#3


引用 2 楼 dxqrr 的回复:
用不了那么大的内存吧,把内存改小点

因为软件属于大数据处理软件,所以需要开高内存,以保证在运行过程中不会出现内存溢出而程序关闭的问题。

#4


有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。

#5


引用 3 楼 mykittyhb 的回复:
引用 2 楼 dxqrr 的回复:

用不了那么大的内存吧,把内存改小点

因为软件属于大数据处理软件,所以需要开高内存,以保证在运行过程中不会出现内存溢出而程序关闭的问题。


那是你参数有问题

-XX:PermSize=64M -XX:MaxPermSize=256M

导致内存溢出一般是这两个参数没配置导致的。

#6


引用 4 楼 chensuper 的回复:
有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。


我也觉得jvm最大内存和系统硬件配置有关,但是还有一个问题就是,第一天1024可以运行的pc,第二天的时候就无法运行,过段时间又可以运行了,这个是什么原因

#7


引用 5 楼 chensuper 的回复:
引用 3 楼 mykittyhb 的回复:

引用 2 楼 dxqrr 的回复:

用不了那么大的内存吧,把内存改小点

因为软件属于大数据处理软件,所以需要开高内存,以保证在运行过程中不会出现内存溢出而程序关闭的问题。


那是你参数有问题

-XX:PermSize=64M -XX:MaxPermSize=256M

导致内存溢出一般是这两个参数没配置导致的。


恩,我有注意到这个,当-XX:MaxPermSize + -Xmx 超过系统允许的jvm最大内存时,会出现内存溢出的问题。

还有如果我用命令 java -Xmx1024M -version,查看jre内存时,最大上限是1500M左右,但是,当程序运行时,却无法实现这么高。

谢谢

#8


该回复于2011-12-15 16:45:12被版主删除

#9


引用 6 楼 mykittyhb 的回复:
引用 4 楼 chensuper 的回复:

有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。


我也觉得jvm最大内存和系统硬件配置有关,但是还有一个问题就是,第一天1024可以运行的pc,第二天的时候就无法运行,过段时间又可以运行了,这个是什么原因

那无法运行时有异常或错误吗,
程序既然可以继续运行说明无法运行的现象没有将程序中断
1024虽然挺大其它配置可能小了,程序如果是因为可用内存小而腾挪倒转耗时速度又慢

#10


引用 9 楼 dracularking 的回复:
引用 6 楼 mykittyhb 的回复:

引用 4 楼 chensuper 的回复:

有些机器不能设1024那么大,有些可以,和系统软硬件配置有关。


我也觉得jvm最大内存和系统硬件配置有关,但是还有一个问题就是,第一天1024可以运行的pc,第二天的时候就无法运行,过段时间又可以运行了,这个是什么原因

那无法运行时有异常或错误吗,
程序既然可以继续运行说明无法运……


有没有具体的文件讲述关于jvm内存和系统硬件的关系?

#11


http://fengyouhua.iteye.com/blog/58170
http://developer.51cto.com/art/200907/135038.htm
除了查一下jvm内存设置相关资料,再有可能要看深入虚拟机了