DB2には、v9.1からSTMM(Self Tuning Memory Management)という、メモリパラメータの自動調整機能が入っています。
これは、DB2が各メモリパラメータ(バッファープールとかソートヒープとか)を定期的に監視し、利用状況に合わせて、各パラメータを自動的に増減させる、というものです。STMMはデフォルトでONですが、OFFにも出来ますし、一部のパラメータのみONにもできます。
このSTMMが動作してパラメータの値を変化させると、STMM専用のログファイルに記録されています。通常はdb2diag.logと同じディレクトリ、つまり~/sqllib/db2dump以下にstmmlog/というディレクトリがあり、その中にSTMMの動きが記録されたファイル(stmm.数字.logというファイル名で最大で5つ)が保存されています。
つまり、このSTMM専用のログファイルを読めばSTMMの詳細な動きが分かるわけですが、詳細情報がずーっと時系列で書かれているので、読むのはなかなか大変です。まずは全体的な動き、つまりどのパラメータがいつ変更されたのか、という基本的な情報が欲しいところですね。
... というのが長い前置きなのですが、そういったニーズに応えるツールをDB2開発者が作成して、developerWorksで公開してくれています。
- DB2 self-tuning memory manager log parser
上記記事を読んでいただければ、つまりstmm.x.logをパースして、見やすい形に整形してくれるツールだという事が分かると思います。ぜひ上記エントリを読んでいただきたいのですが、出力される整形結果がとても分かりやすくて良い感じですね。
Perlスクリプトなので、Windows環境では準備がちょっと必要ですが、Linux/Unix環境であればすぐに使うことができると思います。
これは、DB2が各メモリパラメータ(バッファープールとかソートヒープとか)を定期的に監視し、利用状況に合わせて、各パラメータを自動的に増減させる、というものです。STMMはデフォルトでONですが、OFFにも出来ますし、一部のパラメータのみONにもできます。
このSTMMが動作してパラメータの値を変化させると、STMM専用のログファイルに記録されています。通常はdb2diag.logと同じディレクトリ、つまり~/sqllib/db2dump以下にstmmlog/というディレクトリがあり、その中にSTMMの動きが記録されたファイル(stmm.数字.logというファイル名で最大で5つ)が保存されています。
つまり、このSTMM専用のログファイルを読めばSTMMの詳細な動きが分かるわけですが、詳細情報がずーっと時系列で書かれているので、読むのはなかなか大変です。まずは全体的な動き、つまりどのパラメータがいつ変更されたのか、という基本的な情報が欲しいところですね。
... というのが長い前置きなのですが、そういったニーズに応えるツールをDB2開発者が作成して、developerWorksで公開してくれています。
- DB2 self-tuning memory manager log parser
This article introduces a simple tool to parse the STMM log files to simplify the task of monitoring the decisions made by the memory manager.
上記記事を読んでいただければ、つまりstmm.x.logをパースして、見やすい形に整形してくれるツールだという事が分かると思います。ぜひ上記エントリを読んでいただきたいのですが、出力される整形結果がとても分かりやすくて良い感じですね。
Perlスクリプトなので、Windows環境では準備がちょっと必要ですが、Linux/Unix環境であればすぐに使うことができると思います。