Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
Semaphore
ebse:
Hallo Zusammen,
habe den Parameter
--- Code: ---DEBUG_SHOW_TIMEOUT=1
--- Ende Code ---
in unsere "Notes.ini" aufgenommen um die "Semdebug.txt" zu bekommen und aufgetrettene Timeouts zu analysieren.
Nun das Problem: Das einzigste was in der SEMDEBUG.txt steht ist
--- Code: ---SEMDEBUG_NOTES-PROD01_2006_05_10@06_00_02.TXT
--- Ende Code ---
Kann ich damit irgendwas anfangen?? der Parameter steht seit vorgestern drin, wir hatten gestern Timeouts!
Nach recherchen müsste dort aber viel mehr drinstehen... anbei auch noch ein Screenshot der Konsole zum Zeit des Timeout (dieser ist von heute, gestern sahs genau gleich aus)!
Wo könnte der Fehler liegen, dass das SEMDEBUG File nicht richtig geschrieben wird?
!!Bin für jeden Hinweis echt DANKBAR!!
Ralf_M_Petter:
Hallo!
Du bekommst die Informationen nur auf der Console angezeigt. Um Sie in die Datei zu kriegen musst du noch DEBUG_CAPTURE_TIMEOUT=10 angeben. Siehe auch http://eknori.dyndns.org/knowledge/kbnv11.nsf/0/0437a986b2564578852565f4007c9103?OpenDocument
Grüße
Ralf
ebse:
Vielen Dank erstmal dazu.
Wohin schreibt er dann das File??
Und kann es sein das er jetzt schon was in die LOG.nsf geschrieben hat?? hat irgendwas auf der Konsole angezeigt von "logged to D:\Notes\Date\log.nsf" (oder so ähnlich). In der Log.nsf find ich aber nichts.
Außerdem hab ich noch diesen Wert über "sh stat sem.timeouts" bekommen, was sagt dieser aus?
--- Code: ---Sem.Timeouts 0244:549 012E:94 0A12:21 041A:13 012D:3 0147:2 0A0B:2 0931:1 0921:1
--- Ende Code ---
Kann man mit dem zuvor geposteten screenshot schon was anfangen??
DANKE IM VORRAUS!
Ralf_M_Petter:
Sollte unter IBM_TECHNICAL_SUPPORT sein.
Nein rein aus dem Screensho kann man wenig erkennen, da er nicht vollständig ist. Was du auf jeden Fall auch noch brauchst, ist ein Tool mit dem man schauen kann, welche Threadid was ist. Eventuell wäre auch noch ein Tool gut mit dem man den Stacktrace des Threads anschauen kann. Wir verwenden, Domino auf der Iseries, da ist das alle im Betriebssystem integriert und kann bequem über wrkactjob eingesehen werden.
Zu den Semdebug Meldungen.
Darin findest du die Meldung welcher Thread auf welchen Semaphore wartet und von welchem Thread der momentan belegt wird. Du musst nun sozusagen, die Threads von hinten nach vorne verfolgen um den Thread zu finden, der den ersten Semaphore blockiert und nicht mehr freigibt.
Prinzipiell sind Semaphore eine Technologie mit der Domino verhindert, dass verschiedene Threads gleichzeitig eine Aktion durchführen, die nicht gleichzeitig gemacht werden darf. Ein Beispiel Thread A sagt, ich möchte die view xy updaten. Dann darf das kein andere Thread machen. Deshalb setzt Thread A einen Semapore lock für diese view. Wenn nun Thread A aus irgendeinem Grund nie mehr fertig wird mit seinem update. Dann kommt es irgendwann dazu, dass auch andere Threads auf diese Semaphore zugreifen wollen und hängen bleiben. Diese Thread blockieren aber bereits andere Semaphofes und über kurz oder lange, hängt dein ganzer Server. Hoffe ich habe es verständlich erklärt.
Grüße
Ralf
ebse:
Super Klasse! Danke für die Erklärung!
Was muss ich unter "Thread" vestehen??
Unter Windows2003 Server seh ich die sogenannte "PID (Process ID) im Task Manager. Reicht mir die??
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln