通过添加以下 Notes.ini 参数,可以抓取 LotusScript 的调用堆栈,帮助我们分析宕机等问题:

DEBUG_LS_DUMP=1

结果格式如下:

LotusScript Call Stack
<@@ ------ LotusScript Interpreter -> Call Stack for [ nlnotes:  0ef8:  1494]  (Time 10:38:14) ------ @@>

[3] COUNTVIEWS
[2] GETDBINFO @ line number 7
[1] COUNTDOCUMENTS @ line number 12
[0] INITIALIZE @ line number 2

请参考:Examining LotusScript call stack after a crash or hang with NSD

今天我们的 Linux 测试服务器突然开始响应缓慢,而前几天都还是好的。连到服务器上发现 cpu 占用一直是100%,而占用的进程是很多个 nsd.sh。最终通过搜索技术支持网站找到原因:Domino 数据目录下有不符合命名规范的数据库(如“~”、“/”、中文字符等)。解决方法如下:

  1. 重命名不符合规范的数据库文件
  2. 添加 notes.ini 参数 DISABLE_SAVENSDCONFIG=1

请参考:Multiple nsd.sh processes running causing high cpu usage