Domino 服务器挂起时的现象

发表于:2007-07-02来源:作者:点击数: 标签:
1。Domino 服务器挂起时的现象: 2。Domino 服务器挂起时需要收集的数据: 3。Domino 服务器需要在notes.ini中添加的参数: 4。有关QNC/Nsd: 5。设置Statrep.nsf 的方法: 6。有关用Debug_Capture_Timeout=1来收集信号灯的数据信息的问题: 7。如何收集memo

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 & 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) 停止记录日志的方法是:选择菜单:选项 - 日志。再按“停止记录”。

原文转自:http://www.ltesting.net