Domino 服务器挂起时的现象

12/3/2006来源:Lotus Notes人气:9669

1。Domino 服务器挂起时的现象:
2。Domino 服务器挂起时需要收集的数据:
3。Domino 服务器需要在notes.ini中添加的参数:
4。有关QNC/Nsd:
5。设置Statrep.nsf 的方法:
6。有关用Debug_Capture_Timeout=1来收集信号灯的数据信息的问题:
7。如何收集memory dump:
8。 Windows NT 的性能监控日志的设置方法:

1。Domino 服务器挂起时的现象:
客户端报告“服务器没有响应”
Domino 的服务器控制台上仍有信息输入
或是Domino 的服务器控制台上已经不能再输入信息了
没有 notes.rip 或是 drwtsn32.log文件生成
没有应用程序错误的报告
其它的应用还在运行
Windows 操作系统还有响应

2。Domino 服务器挂起时需要收集的数据:
Domino 服务器的版本
Notes.ini (有关需要在Notes.ini中添加的参数请参看下面第3条)
nsd 日志 (有关QNC和nsd的设置请参看下面第4条)
Semdebug.txt (有关信号灯的信息文件设置的方法请参看下面第6条)
Log.nsf (具体的参数设置请参看下面第3条)
Statrep.nsf (具体设置的方法请参看下面第5条)
出问题的这段时间的Domino server memory dumps (具体的参数设置请参看下面第7条)
Debug 的输出文件,例如:debug.txt。( 参数debug_threadid=1 和 debug_outfile=c:\debug.txt 需要事前被添加到notes.ini中)(具体设置的方法请参看下面第3条)
关于安装好的Hotfix 的版本号
操作系统的版本和补丁号
Windows NT/95 任务管理器的屏幕照片 (进程的页面)
都有什么进程在运行中
有什么进程占用CPU比较高
有什么进程占用内存比较高
硬件的信息
Windows NT 的诊断文件
Windows NT 的事件日志
Windows NT 的性能监控日志(具体设置的方法请参看下面第8条)

3。Domino 服务器需要在notes.ini中添加的参数:
DEBUG_OUTFILE=c:\debug.txt
DEBUG_THREADID=1
DEBUG_CAPTURE_TIMEOUT=1
DEBUG_SHOW_TIMEOUT=1

4。有关QNC/Nsd:
1)如何安装QNC/Nsd 作为缺省的调试程序:
在DOS命令行中,转到Domino 服务器的程序目录下,输入:Qnc -i 或是 nsd -i
其中:
Qnc -i 是把Qnc 作为缺省的调试程序
nsd -i 是把nsd 作为缺省的调试程序

2)如何确定QNC被设置成为缺省的调试程序:
在Windows的注册表中,查找下面的项目: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Aedebug

如果是Qnc(Quincy) 作为缺省的调试程序,在注册表中的Debugger 的键值应类似“c:\notes\qnc.exe -p %ld -e %ld -g”。
如果是NSD 作为缺省的调试程序,在注册表中的Debugger 的键值应类似“c:\c:\NOTES\nsd.exe" -p %ld -e %ld -g”。

3)安装Windows NSD
从5.0.9 的版本起,Nsd.exe 和memcheck.exe是自动被安装到Notes 客户端和Domino 的服务器上,Notes 客户端和Domino 的服务器仍然把Quincy (qnc.exe)作为缺省的调试程序。

在5.0.9 的版本以前的版本,需要另外安装Nsd.exe 和memcheck.exe ,方法如下:
1)从Lotus技术支持那里得到相关版本的Nsd.exe 和memcheck.exe 。
2)拷贝PSAPI.DLL到任何的一个path目录下,例如: C:\winnt\system32(可以忽略有关在Windows 2000 或是 XP上安装的此步骤)。
3)拷贝Nsd.exe 和memcheck.exe 到Domino的程序目录下。
4)确认只有一个Nsd.exe 和memcheck.exe的拷贝已被安装;如果有多个Nsd.exe 和memcheck.exe的拷贝被安装,需要把原来的拷贝进行删除或是重命名。

4) 当服务器挂起时运行NSD:
打开一个DOS命令行的窗口,转到Domino 数据目录下,例如:cd c:\lotus\domino\data
运行NSD (没有任何的参数)
当NSD 运行完成后,会出现下面的提示符:
>nsd
如果Domino 服务器的窗口还有响应,尝试输入命令“q”或是“quit”来停止Domino 服务器的运行
如果服务器还在运行中, 在NSD 的窗口中输入命令“q”或是“quit”,将会出现下面的信息:"NSD is still attached to nn Notes PRocesses. If Notes process can't be terminated gracefully or are not responding, then use the kill command to terminate them."
如果Domino 服务器不能够正常关闭,可以从NSD 的窗口中,输入“kill”的命令,然后再输入“quit”的命令以关闭NSD。
NSD 的日志将会被保存为 nsd_all...mm_dd@hh_mm.log 。

5。设置Statrep.nsf 的方法:
在服务器上的Statistics %26amp; Events (events4.nsf)数据库的 Server Statistic Collection视图中,添加一个新的 New Server Statistic Collection 的文档来记录服务器的信息。

并把collect任务加入到Notes.ini的文件中。 步骤是:
1) 打开服务器上的Notes.ini文件。
2) 查找 servertask 的行,并在行最后加入 collect.

6。有关用Debug_Capture_Timeout=1来收集信号灯的数据信息的问题:
信号灯(semaphore)的数据信息将会被收集在SEMDEBUG.TXT的文件中,一般是创建在Notes的程序目录下。

注意:
1.在收集过一次信号灯的数据后(也就是Domino服务器重新启动之前),需要把此SEMDEBUG.TXT文件重新命名,或是把此文件移到其它的目录下,以生成新的数据文件。
2.对于Domino R5.0.9以后的版本,请用在Notes.ini中添加 debug_capture_timeout=10的参数。

7。如何收集memory dump:(此具体的设置在编号为1407013000000中有具体的描述,下面只是精选出有关在Win NT上的部分)
方法一:要创建一个 Notes memory dump,做以下步骤:

1)在操作系统命令行窗口中,切换到Domino的程序目录。
2)根据服务器是R4 或 R5,执行下面的命令:
R4 服务器: notes server -m
R5 服务器: nserver -m

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

注意:如果是在Domino 分区服务器上收集 memory dump 文件,在切换到Domino程序目录后,应该先执行下面的命令,然后再运行上面的命令(这会设置在哪个服务器上收集memory dump ):

Set Notespartition="x" (其中 "x" 表示想要收集memory dump的分区服务器的编号)

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

方法二: 在服务器控制台上运行下面的命令:
sh memory dump

这会显示出可用内存(包括虚拟内存)。

为了将它输出到一个文件中,在服务器控制台上运行下面的命令:
sh memory dump >memory.txt

该命令会在数据目录下生成一个 MEMORY.DMP 文件,在程序目录下生成一个 MEMORY.TXT 文件。

方法三:

在服务器控制台上,输入下面的命令然后回车:
load server -m

这会在数据目录下生成一个 memory.dmp 文件。

支持的信息:
当有错误发生时,应该在发生错误的时刻收集 memory dump (在重新启动服务器之前)。如果怀疑服务器有内存泄漏的问题(并没有什么错误信息), 应该经常地收集 memory dump。

8。 Windows NT 的性能监控日志的设置方法:
1) 选择Windows 的菜单:开始 - 程序 - 管理工具 - 性能监视器。
2) 选择菜单:查看 - 日志 。
3) 选择菜单:编辑 - 添加到日志 。 在“添加到日志”的对话框中,选择需要监视的对象,并按“添加”按钮,例如:Memory等。在选择完成后,按“确定”。
4) 选择菜单:选项 - 日志。在“日志选项”的对话框中,给此日志文件输入一个文件名,例如:memo.log 。并定义好更新的间隔时间。之后,选择“启动日志”。
5) 完成这些操作后,此工具将会返回一个关于所有被监视的对象的列表。此时,用户就可以利用此工具来查看当前的计数器
6) 停止记录日志的方法是:选择菜单:选项 - 日志。再按“停止记录”。

,