本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

Lotus Domino のハングとクラッシュのトラブルシューティング

Kiran Bellari, Software Engineer, IBM
Kiran Bellari joined IBM on 2004 and initially worked for the Domino Document Manager team before joining Domino server crash performance technical support. Kiran is a dual CLP, and earned his Bachelor's Degree from the National Insitute of Technology.

概要: サーバー・ハングとクラッシュの違いは何でしょうか。より重要なのは、これらをどのように修復するかです。この記事では、Lotus Domino Serverのハングとクラッシュを識別する方法、およびこれらを分析し、修正する方法について解説します。

日付:  2006年 6月 23日 (公開: 2006年 1月 17日)
レベル:  中級 この記事の原文:  英語
アクティビティー: 9061 ビュー
お気軽にご意見・ご感想をお寄せください: 


Lotus Dominoは非常に高い信頼性を持つように構築されています。しかし、たとえ最高の製品であっても、ハングまたはクラッシュにつながる問題が起きる可能性があります。ハングまたはクラッシュが発生したとき、問題の特定、分析、修復を素早く行うほど、ユーザー・コミュニティーは安心し、作業を早く再開できます。また、システム管理者も他の作業に早く戻ることができます。

この記事では、Lotus Notes/Dominoの問題を解決するための手法を紹介します。まず、サーバー・ハングとサーバー・クラッシュの違いを明確にし、それぞれの例を用いて解決方法を探ります。次に、製品の最新リリースであるLotus Notes/Domino 7に導入されたトラブルシューティングの新機能について概要を説明します。この記事は、Lotus Dominoのシステム管理の経験があり、Lotus Notes/Dominoの基本的な概念と用語に習熟している方を対象として書かれています。



サーバー・ハングとサーバー・クラッシュとは?

技術的な内容に入る前に、よく使われるクラッシュとハングという 2つの用語の定義を明確にし、用語についての認識を一致させましょう。

サーバー・クラッシュ

Lotus Dominoサーバー・クラッシュとは、サーバー・プログラムが終了し、もはや実行されていない状況のことです。クラッシュ画面またはNSD/RIPログ・ファイル(実行しているLotus Dominoのバージョンによります)を確認することにより、サーバーが終了したときに実行していたタスクを特定できることがあります。

Dominoサーバー・クラッシュの一般的な症状は次のとおりです。

  • Domino Serverは実行されていませんが、システム上の他のプログラムはまだ実行されています。
  • タスクがロードされているように見える場合でも、Domino Serverコンソールは表示されません。
  • Domino Serverはロードされますが、何もしないまま突然ダウンします。
  • コンソールまたは Log.nsfに Panicエラーが出力され、システムがダウンします。
  • NSD/RIPが自動的に実行されてファイルを生成し、サーバーがダウンするか、自動的に再起動します。

サーバー・クラッシュには、いくつかの種類があります。たとえば、ワンタイム・クラッシュ (one-time crash)は、名前が示すように、一度だけ発生し二度と発生しません。ワンタイム・クラッシュは、不良メモリー、またはプロセスが壊れた文書にアクセスしたことによるLotus Dominoクラッシュが原因と考えられます。たとえば、Mail.boxに保存された文書が破損していたとします。文書を宛先まで配信するためにLotus DominoルーターがMail.boxにアクセスすると、Lotus Domino Serverがクラッシュします。将来、同様の状況が発生することも、発生しないこともあります。一般に、ワンタイム・クラッシュは最も分析が難しいクラッシュです。

再現可能なクラッシュ(reproducible crash) は、一連の手順に従うことによって繰り返すことができるクラッシュです。例として、コーディングが不良なボタンを持つフォームが挙げられます。このボタンをクリックすると、常にクラッシュが発生します。

繰り返しクラッシュ(Repetitive crash) は定期的に発生します。このクラッシュは特定のアクションに関連するようには見えませんが、毎日同じ時刻に発生することがあります。このような状況では、クラッシュ時にサーバー上で実行されていて、問題の原因となる可能性があるものを正確に識別する必要があります。たとえば、毎月実行される定期エージェントがLotus Domino Serverで有効になっているケースを考えます。このエージェントが、サーバー・クラッシュを引き起こしている可能性があります。このような場合、まずは問題となっているエージェントを無効にし、その後で、なぜエージェントが問題を引き起こしたのかを調べます(必要であれば修正します)。

ABEND(異常終了)は、サーバー・クラッシュの特殊な形態です。ABENDという用語は「abnormal end」という単語を組み合わせたものです。ABENDクラッシュでは、RIPファイルまたはNSDファイルは生成されません。

クラッシュの原因には次のものがあります。

  • コード内のソフトウェアの問題 (サーバー上またはクライアント上)
  • データベースの破損
  • Dominoにアクセスするサード・パーティー製アプリケーションのソフトウェアの問題
  • メモリー不足
  • カスタマイズされたコードによる制限されたオペレーション
  • メモリー・リーク
  • 不完全な要求

サーバー・ハング

Dominoサーバー・ハングとは、Domino Serverはまだ実行されていますが、サーバー上の 1つ以上のタスクが要求に応答しない状況です。これらのタスクは、アクティブな状態かもしれませんが、予定された動作はしていません。「ハング」という用語は、コンピューター・プログラムが望ましい動作をしないために発生する可能性がある状況も表します。ほとんどの場合、低レベルのループまたはリソースが永久に使用不可能になることによってハングが発生し、深刻なパフォーマンスの問題を引き起こします (サーバー・ハングの最大の特徴としてリソースの問題が挙げられるため、サーバー・ハングはしばしばパフォーマンスの問題として考慮されます)。

ハングの間、プログラムは麻痺したように見え、エラー・メッセージは表示されず、画面がフリーズしたり、アプリケーションがユーザーの操作に反応しません。カーソルの位置にかかわらず、キーボード入力またはマウス・クリックは効果がありませんが、プログラムはまだ実行されています。ABENDまたはクラッシュと異なり、ハングは自動的に解決したり、ユーザーが対処しなくても、アプリケーションが通常の実行状態に戻ることがあります。このような状況は、ハングというよりも、パフォーマンスの問題と考えられます。

Dominoサーバー・ハングの症状は次のとおりです。

  • Dominoはまだ実行されていますが、クライアントには応答しません。この場合、「サーバーが応答しません」というメッセージをユーザーが受信することがあります。
  • コンソールは、切断されているかのように動作し、quitのような単純なコマンドを含めコマンドを一切受け付けません。
  • サーバーにアクセスしているクライアント (たとえば、データベースを開くとき) は、応答時間を遅く感じます。
  • セマフォー・タイムアウトが発生しています。「show stat」コマンドは、セマフォー・タイムアウト情報を記録します。Statrep.nsfに記録されたセマフォー・タイムアウトの例は、「Sem.Timeouts = 430D: 58 0A13:42 030B:28 0116:26 0A12:21」のようになります。この例では、430Dはセマフォー名で、58はタイムアウトの数です。セマフォー・タイムアウトが常にパフォーマンスの問題を示すとは限らないことに注意してください。一般に、セマフォー・タイムアウトはビジーなサーバーで発生します。サーバーでセマフォー・タイムアウトが検出されない場合は、Statrep.nsfにSem.timeouts統計は出力されません。
  • 次のようなパフォーマンスに関するメッセージが表示されます。
    メモリが足りません。
    メモリが足りません。NSF Folder Poolがいっぱいです。
    Notesがサポートできるメモリ・セグメントの最大数が限度を超えています。
    ネットワークの処理が適当な時間内に完了しませんでした。
    サーバーが応答しません。

サーバー・ハングの状態では、NSD/RIPは自動的に生成されることはありません。

サーバー・ハングの原因には、リソースの問題 (リソースの不足)、サード・パーティー製アプリケーションの競合、ハードウェアの問題があります。一般に、サーバー・クラッシュよりもサーバー・ハングの方が分析が困難です。最後になりますが、クラッシュとハングはDomino Serverだけでなく、Notes Clientでも発生することに注意してください。


トラブルシューティング

このセクションでは、サーバー・クラッシュとサーバー・ハングのトラブルシューティングの一般的な手法について解説します。

Dominoサーバー・クラッシュのトラブルシューティング

Lotus Dominoがクラッシュして再起動できないときは、Notes.ini変数Servertaskからタスクを削除し、範囲を狭めながら、クラッシュの原因となったタスクを特定します。問題の原因として特定のタスクが疑われるときは、サーバー・コンソールを開き、タスクによって生成された可能性があるエラー・メッセージを絞り込みます。たとえば、Mail.box内のメールにアクセスするときにルーターがクラッシュした場合は、Mail.boxの名前を変更することにより、サーバーがMail.boxを再作成できるようにします。

破損したデータベースが問題の原因とみられる場合は、このデータベースにオフラインのメンテナンス・タスクを実行します。クラッシュが一定の間隔で発生する場合は、クラッシュした時点でサーバー上で実行されていたアクションを調べます。

次の点を考慮します。

  • Lotus Domino Serverはコンソールまたはログ・ファイルにエラー・メッセージを出力しているか?
  • エラー・メッセージの正確な構文は?
  • エラー・メッセージはどこで生成されたのか。Lotus Domino Server上か、Lotus NotesClient上か?
  • 問題が最初に発生したのはいつか?
  • 問題が発生する前に、最近、変更を加えたことはないか?

Lotus Notesクライアント・クラッシュのトラブルシューティング

まず、問題が特定のコンピューターだけに発生するかどうかを調べます。そうである場合は、そのユーザーの設定をチェックし、他のユーザーの設定と比較します。また、問題の原因が、使用していた特定のアプリケーションによるものかどうかを判断します。そうである場合は、開発者と共にアプリケーションを調査します。

破損したデータベースまたは文書が原因と考えられる場合は、メンテナンス・タスクのUpdall、Fixup、Compactを実行します(適切なスイッチを使用します)。また、データベースの索引の不良が原因と思われるときは、索引の再作成を試みます。

Lotus Dominoサーバー・ハングのトラブルシューティング

セマフォーの問題が定期的にサーバー・コンソールに表示される場合は、タスクのスケジュールが競合していないかチェックします。システムの応答が遅い場合は、Lotus Domino以外のアプリケーションでも実行速度が遅くなっていないかチェックします。また、一般的なルールとして、オペレーティング・システムに最新のパッチがすべて適用されていることを確認します。

NSD分析
サーバーをクラッシュさせたプロセスを特定することが、サーバー・クラッシュを解決する最初の手順となることがあります。Lotus Domino 6以降では、NSDファイルから始めるとよいでしょう。NSDは、サーバーの状態に関し、現時点でのすべての情報(全スレッドのコール・スタック、メモリー情報など)を提供します。クラッシュの発生時には、Lotus Domino ServerによってNSDログ・ファイルが自動的に生成され、data\IBM_TECHNICAL_SUPPORTディレクトリーに保存されます。NSDログのファイル名は、NSDが生成された時点でのタイム・スタンプに基づいて付けられます。たとえば、「Nsd_W32I_KIRANTP_2006_01_17@17_17_18.log」というファイル名は、NSDがに作成されたことを示します。NSDが実行されると、各プロセスとスレッドにアクセスし、コール・スタックのダンプを出力します。これは、サーバーまたはワークステーションのクラッシュの原因を探るときに役立ちます。

NSDファイルの中心となるのはスタック・トレース・セクションです。このセクションには、現存するプロセスの各スレッドが現在の状態へ遷移したときのコード・パスのブレークダウンが記録されています。これは、サーバー上でのハングおよびクラッシュの状況を調査する上でたいへん役に立ちます。また、NSDファイルを調べることにより、Lotus Dominoデータ・ディレクトリーに生成されたコア・ファイルを発見できます。コアの背後にあり、停止したプロセスが実行した呼び出しの最終的なスタックをトレースするために、ベース・レベルの分析を行うことができます。Lotus Dominoのような複雑な製品では、2つのサーバーで同じタイプのアクションにスタック・トレースを実行しても、異なる結果が得られる場合があります。

NSDファイルでは、「fatal」、「panic」、または「segmentation」という単語を検索することにより、失敗したプロセスでの実行ファイルを識別できます。プロセスを発見することにより、その前に何が起こっていたのかを知り、クラッシュがどのように発生したのかを特定できる可能性があります。「panic」または「fatal」が見つからない場合は、関数内の「segmentation fault」への参照がコア・ダンプに含まれることがあります。これは、何らかの原因で壊れた共有メモリー・セグメントにプロセスがアクセスを試み、「fatal_error」または「panic」を呼び出さずにクラッシュしたことを示します。

例として、サーバー・プロセスがクラッシュに巻き込まれたときのNSDファイルからの引用を以下に示します。

### FATAL THREAD 39/83 [ nSERVER:07c0: 2764]
### FP=0743f548, PC=60197cf3, SP=0743ebd0, stksize=2424
Exception code: c0000005 (ACCESS_VIOLATION)
############################################################
@[ 1] 0x60197cf3 nnotes._Panic@4+483 (7430016,496dae76,0,496dace8)
@[ 2] 0x600018a4 nnotes._OSBBlockAddr@8+148 (1153f38,2000000,743f608,1)
@[ 3] 0x6000bd92 nnotes._CollectionNavigate@24+610 (0,743fc74,f,0)
@[ 4] 0x600626cc nnotes._ReadEntries@68+2860 (4c5440e8,4cfb8dba,800f,1)
@[ 5] 0x600b9f6f nnotes._NIFReadEntriesExt@72+351 (0,4cfb8dba,800f,1)
@[ 6] 0x10032d40 nserverl._ServerReadEntries@8+1424 (0,8d0c0035,4b64b5bc,4ae46dd6)
@[ 7] 0x100191fc nserverl._DbServer@8+2284 (41b0383,cb740064,0,23696f8)
@[ 8] 0x1002b8c8 nserverl._WorkThreadTask@8+1576 (4711d68,0,3,563fb10)
@[ 9] 0x100016cb nserverl._Scheduler@4+763 (0,563fb10,0,10ec334)
@[10] 0x6011e5e4 nnotes._ThreadWrapper@4+212 (0,10ec334,563fb10,0)
[11] 0x77e887dd KERNEL32.GetModuleFileNameA+465

失敗したプロセスを特定すると、そのプロセスを中心にトラブルシューティングを行うことができます。

ServerTasks
サーバーが定期的(たとえば、5分ごと)にクラッシュするときは、トラブルシューティングの手順として、サーバーのNotes.iniファイルでServerTasks=の行を一時的に削除する方法が有効です。サーバーを再起動し、タスクを個別にロードすることにより、どのプロセスがクラッシュの原因となっているのかを判断できます。

Panicメッセージ
Lotus Dominoは内部の整合性エラー、またはデータの破損や他の何らかの問題につながる状態を検出すると、Panicというサブルーチンを直ちに呼び出します。これは、実行に沿ってコードのクリティカルな部分を継続的にモニターする構造体です。Panicは、問題がエスカレートしてデータの破損に至らないよう、できるだけ早い段階で問題を検出するために役立ちます。Panicが発生すると、システムは停止されます(このため、Panicは制御されたクラッシュと考えることもできます)。Panicは、英語またはコード(たとえば、PANIC:04:3C)でメッセージを生成します。詳細なトラブルシューティングを行うために、このコードをLotus Software Technical Supportに渡すケースもあります。


トラブルシューティングのツール

このセクションでは、Lotus Domino Serverのクラッシュまたはハングに遭遇したときに利用できるトラブルシューティング用のツールについて説明します。各ツールを使用する前に、『Domino Administratorヘルプ (US)』を参照してください。また、『Domino self-help support page (US)』もトラブルシューティングに役立ちます。

RIP (Lotus Domino R5)

サーバーがクラッシュするときに、RIPファイルが生成されます。このファイルには、サーバーがクラッシュしたときにサーバーが何をしていたのかを示す情報が含まれています。また、Lotus Dominoに関するクラッシュだけでなく、システムのすべてのクラッシュもレポートします。RIPファイルはLotus Domino 5.xでのみ生成されます。Lotus Domino 6以降では、RIPと同じ役割を持つNSDが生成されます。NSDには、RIPにはない機能も追加されています。

RIPファイルを生成するには、Lotus Domino ServerにQNC.EXEをロードする必要があります。QNC.EXEプログラム(「quincy」と呼ばれることがあります)は、Lotus Dominoに含まれているデフォルトのデバッガー・プログラムです。通常、QNC.EXEプログラムは\Dominoディレクトリーにあります。QNC.EXEを有効にするには、オペレーティング・システムのコマンド・プロンプトで「qnc -I」と入力します。また、サーバーの起動時に「qnc nserver」と入力することによってもQNC.EXEを有効にできます。サーバーのクラッシュ時にRIPファイルが生成されないときは、QNC.EXEが有効になっているかどうかチェックしてください。通常、RIPファイルはデータ・ディレクトリーに作成されます。

NSD (Lotus Domino 6以降)

前述のように、Lotus Domino 6にはNSD機能があります。これは、クラッシュが発生した時点でのサーバーの状態に関する情報が含まれるファイルです。詳細については、前述の「NSD分析」セクションを参照してください。

メモリー・ダンプ (Domino 6以降)

Lotus Domino 6以降では、サーバー・コンソールで「sh memory dump」コマンドを使用することにより、メモリー・ダンプ・ファイルを作成できます。メモリー・ダンプには、現在Lotus Dominoによって使用されているメモリー上の情報が含まれています。これは、パフォーマンスの問題やメモリー・リークについてのトラブルシューティングにたいへん役立ちます。通常、メモリー・ダンプ・ファイルはdata\IBM_TECHNICAL_SUPPORTディレクトリーに作成されます。メモリー・ダンプのファイル名には、NSDが生成されたときのタイム・スタンプが含まれます。たとえば、次のようなファイル名になります。

memory_ KIRANTP_2005_09_14@17_50_08.dmp

メモ:利用可能メモリーをサーバー・コンソールに表示する代わりにファイルに記録するには、サーバー・コンソール・コマンド「sh memory dump >memory.txt」を入力します。

HTTP要求ログ

Lotus Software Technical Support は、Lotus Domino Web サーバーのクラッシュおよびハングに関する問題のトラブルシューティングを行うときに、HTTP要求ログの作成をお客様に依頼することがあります。要求ログのデフォルト設定を有効にするには、サーバーのNotes.iniファイルに「HTTPEnableThreadDebug=1」の行を追加します。これにより、HTTP要求ログがデフォルトのレベルで設定されます(より詳細に記録するログ・レベルの設定方法については、『Domino Administrator ヘルプ (US)』を参照してください)。また、Lotus Dominoサーバー・コンソールで「tell http debug thread on | off」を入力すると、HTTP要求ログを直接有効にできます。HTTP要求ログを有効にすると、Lotus Dominoはhtthr*.logというファイル名で一連のファイルを作成します。たとえば、ファイル名は「htthr_a40_10_20050914@171556.log」となります。

HTTP要求ログは特定の問題のトラブルシューティングにのみ用いるもので、通常は、Lotus Software Technical Supportからの説明と補助に基づいて使用します。要求ログは、一般的なシステム管理などの他の目的で使用しないでください。これらのログ・ファイルは時間の経過にともなってサイズが大きくなるので、長期間設定を有効のままにしないでください。利用可能なドライブ・スペースがすべて消費されてしまうことがあります。

自動データ収集

Lotus Notes/Domino 6.0.1には、Automatic Data Collection(ADC)と呼ばれる自動診断データ収集ツールが導入されました。自動データ収集は、Lotus Notes ClientまたはLotus Domino Serverがクラッシュしたときに、クラッシュのデバッグに必要なすべてのデータをプログラムによって収集し、クライアントまたはサーバーが再起動するときにそのデータをメール受信データベースに送信する機能です。システム管理者は、ドメイン内のクライアントとサーバーで発生したすべてのクラッシュを1箇所で集中して把握することができます。これにより、クライアントまたはサーバーのクラッシュ時に、システム管理者やユーザーが適切なデータを収集し損なうおそれがなくなります。

Notes.ini設定

パフォーマンスとクラッシュの問題のトラブルシューティングには、Notes.iniの次のデバッグ・パラメーターを使用できます。

  • 「Debug_threadid=1」を設定すると、各サーバー・オペレーションごとに、各プロセスとスレッドIDがログに記録されます。
  • 「Debug_show_timeout=1」を設定すると、セマフォー・タイムアウトのメッセージがコンソールに出力され、semdebug.txtというセマフォーのテキスト・ファイルが作成されます。
  • 「Debug_capture_timeout=10」を設定すると、各セマフォー・タイムアウト・メッセージにタイム・スタンプが追加されます。
  • 「CONSOLE_LOG_ENABLED=1」(Domino 6以降)を設定すると、Dominoコンソール・ログが有効になります。

サーバー・クラッシュの障害復旧

Lotus Dominoサーバー・クラッシュを自動的に処理するために、障害復旧をセットアップすることができます。サーバーがクラッシュすると、システム管理者が関与しなくても、サーバーはサーバー自身をシャットダウンし、自動的に再起動します。Lotus Dominoはクラッシュ情報をデータ・ディレクトリーに記録します。サーバーの再起動時に、Lotus Dominoはクラッシュ後の再起動であるかどうかをチェックします。そうである場合は、[障害通知のメール先]フィールドで指定されているユーザーまたはグループにメールが自動的に送信されます。

致命的なエラー(オペレーティング・システムの例外や内部Panicなど)が発生すると、各Lotus Dominoプロセスは終了し、関連するすべてのリソースが解放されます。起動スクリプトが状況を検出し、サーバーを再起動します。複数のサーバー・パーティションが使用されていて、そのうちの1つのパーティションで障害が発生した場合は、このパーティションだけが終了し、再起動します。


Lotus Domino 7でのトラブルシューティングの新機能

このセクションでは、サーバー・ハングまたはクラッシュの分析および修正に役立つDomino 7の新機能について簡単に説明します。

Lotus Dominoドメインモニター

Lotus Dominoドメインモニター(Lotus Domino Domain Monitoring: DDM) は、Lotus Domino 7のサーバー・メンテナンスとトラブルシューティング用の最も重要で役に立つ新機能の1つです。DDMによって、1つ以上のドメイン内のすべてのサーバーを1箇所で集中的にモニターできます。DDMは調査と呼ばれるプログラムを使用して個々のサーバーからサーバー情報を収集し、専用のデータベース(DDM.nsf)にレポートを出力します。収集されたデータは、このデータベースで見ることができます。これにより、1箇所のLotus Domino Administratorコンソールから、多数のサーバーを一括してモニター、分析、トラブルシューティングすることが可能です。

Activity Trends

Activity Trendsは、サーバーの履歴データを分析し、長期間にわたるデータからトレンドを把握するための機能です。このデータを検討することで、将来的な問題を予測し、回避することができます。このデータはログ・ファイル(Log.nsf)およびCatalogタスクから収集され、Activity Trendsデータベース(Activity.nsf)に保存されます。Activity Trends Collectorタスクはこのデータを処理し、グラフ化とリソース・バランシングに役立つトレンド分析済みのデータを生成します。

ステータス・バーの履歴をログ・ファイルへ書き込む

Lotus Notes Clientのステータス・バーに表示されるメッセージのログを、ローカルのログ・ファイル(Log.nsf)または指定した外部ファイルに記録できるようになりました。これは、Lotus Notesクライアント・クラッシュのトラブルシューティングに役立ちます。ステータス・バー・メッセージのLog.nsfへのログを有効にするには、Notes.ini設定「logstatusbar=1」を使用します。ログに記録されたメッセージを表示するには、Log.nsfを開き、[Miscellaneous Events]ビューをクリックします。ステータス・バーのメッセージは、Status Msgと共に追加されます。ステータス・バーのメッセージを外部ファイルに書き出す場合は、Notes.ini「logstatusbar=1」を設定した上でNotes.ini「Debug_Outfile=<ファイルまでのパス>」を設定します。たとえば、次のように設定します。
logstatusbar=1
Debug_Outfile=c:\temp\StatusBarLogging.txt

この設定により、ステータス・バーのメッセージはStatusBarLogging.txtファイルへ記録されます。

Log.nsfファイルには、Lotus Notes Clientがクラッシュする前にステータス・バーに記録されたアクションのスナップショットも含まれています。

Fault Analyzer

Fault Analyzerはサーバーの新機能で、自動データ収集のメール受信データベースに配信されたすべての新しいクラッシュを処理します。Fault Analyzerタスクは、Fault Report 文書用に設定されたデータベースを検索し、ユーザーまたはサーバーによってすでに検出されているクラッシュにスタックが一致するかどうかを判断します。Fault Analyzerは、Fault Reportメール受信データベースに含まれるコール・スタックを分析および評価し、同じ問題の別のインスタンスが存在するかどうかを判断することによって、自動データ収集の機能を強化します。

Fault Analyzerは、自動データ収集のセットアップと同時に設定できます(図1参照)。サーバー上で自動データ収集をセットアップし、Fault Analyzerを有効または無効にするには、サーバー設定文書を使用します。


図1. Fault Analyzerの設定

Fault Analyzerが重複するFault Reportを検出すると、新しいクラッシュはオリジナルのクラッシュの返答文書として作成されます。添付ファイルは、データベース内のスペースの節約のために返答文書から削除されるか、返答文書と共に保存されます。

自動データ収集の機能強化

自動データ収集ツールを使用してサーバー・クラッシュに関する情報を収集するときは、まず、サーバーがDomino Controller下で実行されているかどうかをチェックし、そうである場合はControllerログが使用されます。サーバーがDomino Controller下で実行されていない場合は、コンソール・ログが有効かどうかをチェックし、有効な場合はコンソール出力が使用されます。Domino Controllerとコンソール・ログのどちらも設定されていない場合、データはLog.nsfから抽出されます。

自動データ収集ツールをクライアントまたはサーバーで実行するとき、ユーザーはツールによってどのファイルを収集するのかを選択できます(ワイルドカードを使用します)。Lotus Notes Clientでは、この設定はデスクトップポリシー設定文書で行います(図2参照)。


図2.Lotus Notes Clientでの自動データ収集の設定

Lotus Domino Serverでは、この設定はサーバー設定文書で行います(図3参照)。


図3.Lotus Domino Serverでの自動データ収集の設定

この設定により、他のIBM製品やサード・パーティー製のアドインからも診断ファイルを収集できます。

自動データ収集から送信された出力が非常に大きなサイズになる可能性もあります。これが問題となる場合は、NSDによって送信される添付ファイルのサイズとFault Reportsデータベースへ出力するコンソール・ログを制限するよう自動データ収集を設定できます(図3参照)。

Shutdown Monitor

quitまたはrestart server コマンドを発行してから実際にLotus Domino Serverがシャットダウンされるまで、長時間かかることがあります。この遅延を避けるために、Shutdown Monitorタスクを使用すると、要求に応じてすぐにLotus Dominoを終了させることができます。割り当てられた時間内にサーバーが終了しないと、サーバーは強制的に終了され、終了前にNSDログが生成されます。この時間制限は、サーバー文書の[基本]タブの[自動サーバー回復]セクションにある[サーバーシャットダウンのタイムアウト]フィールドで指定します(図4参照)。


図4.サーバーシャットダウンのタイムアウトの設定

[サーバーシャットダウンのタイムアウト]のデフォルトの設定は5分です。この機能は、Notes.ini設定「shutdown_monitor_disabled=1」によって無効にできます。

Process Monitor (Windowsプラットフォームのみ)

Process Monitorタスクは、Lotus Domino Server環境の一部として実行されるべきプロセスをモニターします(このタスクは、Microsoft Windowsプラットフォームでのみ実行されます。Unixプラットフォーム用のLotus Dominoでは、個別のサーバー・タスクを使用せずにこの機能が実装されています)。いずれかのプロセスが失われている場合、または通常のLotus Domino 終了ルーチンを完了せずにプロセスが突然終了した場合は、このタスクによってサーバーがPanic状態となり、どのプロセスが途中で終了したのかを識別します。Process Monitorタスクは、異常終了用のNserver.exeプロセスをモニターするNprocmon.exeと共に機能します。

この機能により、他の方法では分析が困難であった異常終了の問題の数が大幅に削減されます(分析が困難なのは、終了してサーバーの問題を引き起こしたプロセスを特定することが難しい場合があるからです)。Process Monitorタスクを無効にするには、サーバーのNotes.iniファイルで変数「process_monitor_disabled=1」を設定します。


まとめ

この記事では、まず、Lotus Domino Serverのハングとクラッシュの違いを明確にしました。次に、Lotus Notes/Dominoの問題を分析し、修正するときに用いるトラブルシューティングの手順とツールについて説明しました。そして、Lotus Notes/Domino 7で導入されたトラブルシューティングの新機能を紹介しました。Lotus Notes ClientまたはLotus Domino Serverでハングやクラッシュに遭遇したときは、いつでもこの記事を参考にしてください。もちろん、そのようなことが頻繁に起こらないことを願っています


参考文献

学ぶために

議論するために

著者について

Kiran Bellari joined IBM on 2004 and initially worked for the Domino Document Manager team before joining Domino server crash performance technical support. Kiran is a dual CLP, and earned his Bachelor's Degree from the National Insitute of Technology.

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=340988
ArticleTitle=Lotus Domino のハングとクラッシュのトラブルシューティング
publish-date=06232006
author1-email=k_ballari@in.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。