首页 > 学技术 > 技术网文 > Lotus > 正文

[精彩] 是不是内存问题?


来源 chinaunix.net 酷勤网整理

有一些邮件客户,给其发邮件时报:传送到 张三/###/###@### 时出错; Insufficient memory - NSF monitor pool is full.但收件人还是能收到,是不是内存的原因,重启数据库时可以解决问题,不重启能解决吗?



 plumlee 回复于:2006-04-14 09:17:12

我认为肯定不是内存问题.




Domino 服务器挂起的故障现象包括:

    * Domino 仍在运行,但是不响应客户机。在这种情况下,用户通常报告说他们收到 “Server not responding” 消息。
    * 控制台的行为就像是断开连接的,不接受任何命令,甚至像 quit 这样简单的命令也不接受。
    * 客户机对服务器的访问(例如,打开数据库)感觉到响应时间慢。
    * 出现信号量超时。“show stat” 命令将报告信号量超时信息。下面是 Statrep.nsf 中报告的一个信号量超时的例子:Sem.Timeouts = 430D: 58 0A13:42 030B:28 0116:26 0A12:21。在这个例子中,430D 是信号量名称,58 是超时的数量。注意,信号量超时并不一定表示性能问题。在忙碌的服务器上出现信号量超时是很常见的。如果服务器上没有出现任何信号量超时,统计数据 Sem.timeouts 就不会出现在 Statrep.nsf 中。
    * 会报告与性能相关的错误消息,比如:
      Insufficient memory.
      Insufficient memory. NSF Folder Pool is full.
      Maximum number of memory segments that Notes can support has been exceeded.
      Network operation did not complete in a reasonable amount of time.
      Server not responding.

注意,在服务器挂起场景中,NSD/RIP 是不会自动生成的。

导致服务器挂起的原因包括,资源问题(资源不足)、第三方应用程序冲突和硬件问题。一般来说,服务器挂起比服务器崩溃更难分析。最后指出一点:崩溃和挂起不只出现在 Domino 服务器上,也可以出现在 Notes 客户机上。


 xiaosuai 回复于:2006-04-14 09:30:03

那该怎么解决呢?


 plumlee 回复于:2006-04-14 09:35:13

你看看这个帖子试试能不能找到解决办法

http://bbs.chinaunix.net/viewthread.php?tid=738913&extra=page%3D1


 qingzhou 回复于:2006-04-18 13:41:49

引用:原帖由 xiaosuai 于 2006-4-13 16:54 发表
有一些邮件客户,给其发邮件时报:传送到 张三/###/###@### 时出错; Insufficient memory - NSF monitor pool is full.但收件人还是能收到,是不是内存的原因,重启数据库时可以解决问题,不重启能解决吗? 


这是因为服务器的 folder pool溢出。 从memory dump中,可以看到以下 folder pool 的分配:

+145 321 20,997,252 SHRHDL BLK_NSF_FOLDERPOOL - NSF global folder pool 
1048576(1mb in bytes) * 20 = 20,971,520 < 20,997,252 

在Domino 5.0.10以前的版本,NSF Folder Pool的最大值是20M,Domino 5.0.10 将 NSF Folder Pool 的最大值升到 50MB。在Domino 5.0.10中您可以通过一个 Notes.ini 参数来定制NSF Folder Pool的最大值(以MB计),该参数是NSF_FOLDER_POOL_SIZE_MB。

关于如何做 Memory dump, 请参考如下步骤: 

1. 在操作系统控制台上,切换到服务器的程序目录:

2. 执行下面的命令: 
对于 R4 的服务器: notes server -m
对于 R5 的服务器: nserver -m

这样会在数据目录下创建一个名为 MEMORY.DMP 文件。

注意: 如果是在Domino分区服务器上创建 memory dump ,在切换到服务器的程序目录后,在创建 memory dump之前,应该执行下面的命令:(该命令设置在哪个分区服务器上创建 memory dump):

Set Notespartition="x" (其中 "x" 表示您想创建 memory dump 的分区服务器的编号)

然后可将 MEMORY.DMP 文件送给 Lotus Notes 支持工程师来分析。

当发生问题描述中提到的错误时,应该立即创建 memory dump (在重新启动服务器之前)。如果怀疑服务器有内存泄漏方面的问题,但却没有任何错误信息,可以定期收集memory dumps 数据。


 xiaosuai 回复于:2006-04-18 17:32:46

多谢




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=738462
转载请注明作者名及原文出处



收藏本页到: