記事
· 2020年9月27日 2m read

コンソールログに出力される「Pausing users because the Write Daemon has not shown...」のエラーについて

これはInterSystems FAQ サイトの記事です。

コンソールログ(message.log/cconsole.log)に、以下のようなログが出力される場合があります。

MM/DD/YY-hh:mm:ss:sss (pid) 2 CP: Pausing users because the Write Daemon has not shown
   signs of activity for xxx seconds. Users will resume if Write Daemon completes a
   pass or writes to disk (wdpass=yyyy).


このメッセージは、コントロールプロセスが出力しています。
このプロセスは、ライトデーモン(WriteDaemon)等の主要なシステムプロセスを監視しています。

この監視にて、ディスクI/O 負荷が上がったことなどにより、ライトデーモンの書き込み処理が一定期間(xxx秒間)進んでいない場合、データベースキャッシュ上にダーティなバッファが増えるのを抑制する為に、ユーザプロセスのデータベースへの書き込みアクセスをサスペンドします。
このメッセージ出力後、ライトデーモンの活動が復帰するまでユーザプロセスの書き込みアクセスは待ち状態になります(ハング状態になります)。
その際、アプリケーションの応答時間への影響が発生します。

ただし、ディスクI/O 負荷が軽減し、ライトデーモンの処理が進行した場合は、以下のメッセージが記録されます。

MM/DD/YY-hh:mm:ss:sss (pid) 0 Write Daemon has show signs of activity, allowing users to proceed


この場合は、事象は一時的なものであり問題はありません。

上記の回復を示すメッセージが出力されていない場合は、ライトデーモンの書き込み処理は何らかの原因でハング状態にあったと考えられます。

1つの原因として、ライトデーモンのデータベースファイルへのアクセスが、セキュリティソフトによってブロックされたことが挙げられます。
その場合は、インストールフォルダ以下のすべてのファイル(サブフォルダ―も含む)、およびすべてのデータベースファイル、ジャーナルファイルをスキャン対象から外してください。

また、データベースの破損の可能性もありますので、その場合は整合性チェックを行うことを推奨します。

ディスカッション (0)0
続けるにはログインするか新規登録を行ってください