domino中java代理导致内存溢出问题的解决方法

来源:互联网 发布:亚克力电脑编程设计 编辑:程序博客网 时间:2024/05/16 06:00
环境:DOMINO6.02    主机:as400-820  
我用JAVA写了一个代理,编译和运行均正常。但此代理运行几百次后,就会报错:java.lang.OutOfMemoryError,估计是内存溢出错误。我的程序中已对内存做了清理,代码如下:  
sysdoc.recycle();  
sysview.recycle();  
view.recycle();  
doc.recycle();  
db.recycle();  
System.gc();  
试问各位高手,这是什么原因呢?是DOMINO的JAVA虚拟机问题还是DOMINO的设置问题呢?  
---------------------------------------------------------------  
 
呵呵,去年我就问过这个问题,我的一个java代理  ,循环运行几千次,就出现这个错误,到现在还没有解决.个人认为是domino的jvm问题.  
---------------------------------------------------------------  
 
内存泄漏阿  java虚拟机的垃圾回收  启动的太慢,  建议你把  java虚拟机的初始分配存  
开大点  如果你内存足够多  应该没有问题  注意domino只能用4gb的内存  呵呵  
 
就此问题我已请教了清华紫光的as400工程师,他说可能是DOMINO的JVM有问题,建议我去打补丁,唉,可是补丁从哪找呀....  
 
另问一下bug0303(补丁)兄,你这个问题是在PC上还是在400上遇到的?  
 
经咨询,得到以下缓解方法:  
 
在服务器的  notes.ini  文件中,可以增加一个参数:  
JavaMaxHeapSize=<字节数>  
这个参数的具体数值应该根据服务器的硬件环境和应用程序的实际需要来调整,默认的值应该是64M,可以根据情况适当往大调一下。例如,“JavaMaxHeapSize=268435456”  将此值设为256MB。  
注意  增加或修改此参数后,应重新启动  Domino  服务器。  
 
如再无更好的方法,本贴将结贴。  
 
经测试,增加JVM缓存不能解决此问题,IBM工程师也承认这是DOMINO的JVM有问题。  
 
介此,我已用LS将这段JAVA改写,实现了同样的功能。 
原创粉丝点击