(参考情報)
memcheck とは
memcheck とは、共有メモリ内で実行しているプロセスをみるツールです。nsd.sh を実行したときには自動的に実行されるようになっており、実行結果も NSD ログの中に記録されます。
このツールは単体でも動作することが可能ですが、nsd.sh と共に実行することで、Process ID (PID) も自動的に引数として用いられるため非常に便利です。
例えば、プロセスが開いていたデータベースやアクセスしていたビューなどの、NSD ログだけではわからない詳細な情報を確認できます。このような情報は、セマフォタイムアウトの問題では非常に有効な情報となります。
また、memcheck のログからは、各 Process ID ごとのハンドルテーブルの情報や各ブロックに割り当てられているメモリの数などを細かく確認することができ、メモリリークの調査にも役立つ場合があります。
<インストール方法>
R5.0.9 以降のドミノサーバーの場合は、memcheck がパッケージに導入されていますので、ドミノサーバーをインストールすることによって、同時に memcheck も使用できます。
R5.0.8 以前のドミノサーバーの場合は、Lotus Customer Support にお問合せの上 memcheck を入手し、以下の手順にしたがってインストールしてください。
- memcheck をインストールします。
memcheck は、/opt/lotus/notes/latest/<platform> 以下のディレクトリに、memcheck というファイル名でインストールします。ファイル名が memcheck となっていないと、nsd.sh が memcheck 本体を呼び出せません。また memcheck はバイナリファイルなのでファイル転送時にはバイナリモードであることを確認してください。 - インストール後、memcheck のオーナーとパーミッションを変更します。
Domino Server を起動しているユーザーアカウントとグループアカウントにパーミッションを与えるため chown および chmod コマンドを用いて変更します。
例)Owner/Group とも notes に変更する場合
chown root:bin memcheck
chmod 755 memcheck - memcheck が正常に実行されることを確認するために、まず memcheck を単体で起動します。
実行する前に、Domino のデータディレクトリに移動し、下記のコマンドを実行します。/opt/lotus/notes/latest/<platform>memcheck - 正常に実行されることを確認できたら、nsd.sh を実行します。
- memcheck を実行せずに nsd.sh を実行するには、nsd.sh のオプションに nomemcheck を指定して実行します。
ヘルプの内容 (Usate: memcheck [options] ) が表示されれば、正常に実行できています。
※注意
- memcheck はドミノサーバーパッケージに含まれるツールではありません。 必要に応じて別途 Lotus Customer Support から入手してください。
- memcheck は、使用しているドミノサーバーと同一バージョンにしてください。バージョンが異なると正常に動作しません。
- メモリを多く使っている環境では取得に時間がかかります。
