Chinaunix首页 | 论坛 | 博客
  • 博客访问: 965875
  • 博文数量: 232
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 2315
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-02 11:43
文章分类

全部博文(232)

文章存档

2009年(6)

2008年(22)

2007年(72)

2006年(85)

2005年(47)

我的朋友

分类: 系统运维

2005-12-07 17:30:15

Domino中使用JAVA代理一定要小心,特别是R5的版本。

1、及时地对所用到Notes Object(session,agentContext,db,view,document. 等等)进行Recycle()处理。可以参考IBM网站上的这篇文章:
;

2、对于jar包的调用,最好放在notes.ini文件中,而不是在编写Java Agent的过程中处理,

我们可以将所调用到的jar文件丛中删除,在notes.ini文件中增加JavaUserClasses=pathjarFile,具体可以参考IBM网站上的这篇文章:
;

3、确认有足够的Java内存堆栈
缺省的情况下为64M,可以根据实际情况来调整堆栈大小,可以在notes.ini文件通过JavaMaxHeapSize参数进行调整,具体可以参照Administrator帮助;

4、监控JVM内存使用情况
通过Runtime.getRuntime().totalMemory() , Runtime.getRuntime().freeMemory()可以查看JVM内存使用情况;

5、使用System.gc()强行进行垃圾回收。

用户可以在notes.ini文件中增加了JavaVerboseGC = 1的参数,每次在执行该代理的时候观察内存泄漏的情况。

以前碰到一个很妖怪的情况,可以和大家分享,

通过在notes.ini中增加参数JavaUserClasses= pathfilename来存放jar包。但是将其放在Notes.ini的最后一行会有内存泄漏,后来将该参数没有放在最后一行,就不会有内存泄漏。

阅读(1980) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~