Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
19Activity
0 of .
Results for:
No results containing your search query
P. 1
NSD Analysis

NSD Analysis

Ratings:

5.0

(4)
|Views: 2,468 |Likes:
Published by Ashish Daga
OK, so here goes on a lengthy post for the admins amongst us on NSD Analysis. An area I feel I know quite well …. however as you’ll remember from my last post this is based on publicly available information.

NSD (or Notes System Diagnostic) is the name given to software bundled in Domino to give a snapshot of what the Domino system is doing. The tool produces text files with enormous ammounts of information and can be run manually or will run automatically during a crash. Interested ? …… (it may seem a bit dull but the information here could save you a lot of time!).
OK, so here goes on a lengthy post for the admins amongst us on NSD Analysis. An area I feel I know quite well …. however as you’ll remember from my last post this is based on publicly available information.

NSD (or Notes System Diagnostic) is the name given to software bundled in Domino to give a snapshot of what the Domino system is doing. The tool produces text files with enormous ammounts of information and can be run manually or will run automatically during a crash. Interested ? …… (it may seem a bit dull but the information here could save you a lot of time!).

More info:

Published by: Ashish Daga on Aug 21, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

12/23/2012

pdf

text

original

 
NSD Analysis
OK, so here goes on a lengthy post for the admins amongst us on NSD Analysis. An area I feel I knowquite well …. however as you’ll remember from my last post this is based on publicly availableinformation.NSD (or Notes System Diagnostic) is the name given to software bundled in Domino to give a snapshotof what the Domino system is doing. The tool produces text files with enormous ammounts of information and can be run manually or will run automatically during a crash. Interested ? …… (it mayseem a bit dull but the information here could save you a lot of time!).
Memory
Without memory nothing works. In the operating system memory is divided into Kernel and User Address Space. The Kernel looks after the OS, hardware drivers and communications with thehardware. The User Address Space is where our applications run, and this includes Domino.So when Domino crashes it happens in the User Address Space ….. this means that Domino won’tdirectly cause a blue screen of death!!!! However Domino may, for example, be attempting to read or write to an area of disk which could cause a kernel memory error remembering that the kernel must dealwith the disk.As we know, Domino is made up of a number of individual processes (nserver, nreplica, nrouter etc).ÂEach of these processes all do their own little bit to make up the server. Each process is doing anumber of tasks at any one time, these are called threads. And within each thread there is a specificset of individual actions. These are called function calls.
Crashes (in a paragraph!)
Yeah, Yeah, Blah, Blah so what does this mean for me? Well Domino is a fairly complex beast. Nowand again a thread will try and use some memory which is reserved or in use by another process. Thisis a memory exception and at this point everything will go a bit messyA panic will be recorded in thethread, Domino will freeze everything that it is doing and the nsd task will run. This will gain asnapshot of the environment immediately before the crash storing the important results in\data\ibm_technical_support on either the client or server which has crashed.
Hangs
Hangs are a different beast and I’ll not do much here to go into them. To recognise a hang the easiestway to look for the hang is to examine in real time the memory allocated to each Domino or Notesprocess. Remember from earlier each process is made up of a number of threads. New threads areconstantly starting and old threads are constantly stopping. So for each process you should see the
 
memory allocated to that process changing with time. If you don’t see changes in the memoryallocated to a thread then you possibly have a hang. A server can recover from a hang. A hungprocess may or may not prevent user sessions on a server. To troubleshoot a hang you need to runthe nsd process 3 times at 5 minute intervals and then engage IBM Support to help resolve the issue.Â
Running NSD Manually
The important thing to remember when running NSD is that by default it will kill all the processes ….. soif you want to run it without killing the PIDs check out the extensions by running nsd -?. Normallyadvice is to run nsd -detach as that leaves the processes alone after running.
The file
Well the file produced will always have a common naming convention:
type_plaftorm_systemname_date@time.log 
Each platform has its own format and for sake of making this post a record length I’m going to stick toWintel.
Sections in Wintel NSD’s
First section is the header with system information, a list of each Domino instance and a list of theprocesses running therein. You’ll see some strange entries for Found X processes, matched YIf Yis one less than X then providing you are running Domino as a Windows service don’t worrynsdexamines all processes from nserver down, nservice is the parent of nservernsd sees nservice isrunning but also sees it isn’t running under nserver so it says for example found 22 matched 21.Next we have the process table. From here you can see all processes on the serverProcesses nsdrecognises as Domino are indicated with “->”. The position of “[” denotes parent and child status -indents denoting children. You’ll see nsd as a child of whichever process crashed.OK so this section helps gather a picture of what was running on the server Below this section there is a dump of each process, what files the process was using, and thenimportantly a dump of each thread. On the thread which resulted in the crash the name will changefrom thread to “fatal thread”. Best option once you have looked through the process table is to searchfor “FATAL”.
Fatal Thread
So once you’ve searched for fatal you may see something like this:### FATAL THREAD 39/83 [ nSERVER:07c0: 2764]### FP=0743f548, PC=60197cf3, SP=0743ebd0, stksize=2424
 
Exception code: c0000005 (ACCESS_VIOLATION)############################################################@[ 1] 0×60197cf3 nnotes._Panic@4+483 (7430016,496dae76,0,496dace8)@[ 2] 0×600018a4 nnotes._OSBBlockAddr@8+148 (1153f38,2000000,743f608,1)@[ 3] 0×6000bd92 nnotes._CollectionNavigate@24+610 (0,743fc74,f,0)@[ 4] 0×600626cc nnotes._ReadEntries@68+2860 (4c5440e8,4cfb8dba,800f,1)@[ 5] 0×600b9f6f nnotes._NIFReadEntriesExt@72+351 (0,4cfb8dba,800f,1)@[ 6] 0×10032d40 nserverl._ServerReadEntries@8+1424 (0,8d0c0035,4b64b5bc,4ae46dd6)@[ 7] 0×100191fc nserverl._DbServer@8+2284 (41b0383,cb740064,0,23696f8)@[ 8] 0×1002b8c8 nserverl._WorkThreadTask@8+1576 (4711d68,0,3,563fb10)@[ 9] 0×100016cb nserverl._Scheduler@4+763 (0,563fb10,0,10ec334)@[10] 0×6011e5e4 nnotes._ThreadWrapper@4+212 (0,10ec334,563fb10,0)[11] 0×77e887dd KERNEL32.GetModuleFileNameA+465So what does all this mean. Well the header block is fairly obvious.Â
Â
Lines 1 through 11 are thefunction calls that the thread performed. These are in sequence. For wintel 1 is the event closes tothe crash and 11 the event furthest from the crash. So the server performed 11, 10, 9, 8, …… 2, thencrashed and 1 shows the panic.So what does each line mean? The @ sign means nsd has annotated it and recognised the thread asa domino function. The 0x lines I assume to be the address (but someone may correct me). The bitbefore the full stop is the class (nnotes, nserverl etc). The bit after the full stop and before the @ signis the function call.So here the function calls are _ThreadWrapper, _Scheduler, _WorkThreadTask etc.
Call Stack
Listing all these functions we get the call stack.PanicOSBBlockAddr  _CollectionNavigate _ReadEntries _NIFReadEntriesExt _ServerReadEntries _DbServer  _WorkThreadTask _Scheduler  _ThreadWrapper 
Finding the fault

Activity (19)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
narendraideal liked this
SpunkOZx liked this
krish_sys liked this
arun liked this
mba009 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->