DB2 Version 9.7 for Linux, UNIX, and Windows

メモリー過剰割り振りの問題の診断

メモリーの過剰割り振りは、物理的に使用可能な量を超えたメモリーを使用するように、ソフトウェアを誤って構成した場合に発生します。 過剰割り振りは、空きメモリーの不足や、ハード・ディスクのページングやシステム CPU 消費時間の大幅な増大につながる場合があります。 結果として、SQL 照会パフォーマンスが低下する可能性があります。

このタスクについて

診断
DB2® システムでは、未使用のメモリーが可能な限り少なくなるようにシステム・メモリーを使用してください。 しかし、メモリーを過剰割り振りした (DB2 ソフトウェアまたはその他のソフトウェアをシステム上の物理メモリーの量を超えて使用するように誤って構成した) 場合、結果としてページングに起因するシステム・プロセッサーのオーバーヘッドが生じます (さらにはディスク・オーバーヘッドが生じることもあります)。

大量の物理メモリー (100 GB 以上) を搭載したサーバーでは、ラージ・メモリー・ページを使用するようにシステムが構成されていないと、余分なプロセッサー・オーバーヘッドが生じる場合があります。 OS は、ページ・レベルの細分度でメモリーを管理します。 OS のメモリー・ページは、DB2 のページとは異なります。 標準のページ・サイズは 4 KB であり、100 GB の RAM を搭載したマシンでは OS が 2.5 億ページの表項目を管理しなければならないことを意味します。 ほとんどのオペレーティング・システムでは、仮想メモリー管理のオーバーヘッドを削減するのに役立つ大きなページ・サイズがサポートされています。 例えば、AIX® オペレーティング・システムでは、最大で 16 GB のサイズのラージ・ページがサポートされています。ただし、実際にこのサイズのページが使用されることはほとんどありません。

標識サイン
  • この状態は、UNIX システムでは、vmstat で報告される空きメモリー率が低いこと、およびページイン/ページアウト・アクティビティーが多いこと (それぞれ、free 列、pi 列、および po 列に示されます) によって識別されます。
  • AIX システムでは、vmstat -P ALL で、システムで使用可能なページ・サイズと使用中のページ・サイズが示されます。 システムで 64 KB ページが使用可能になっている状態で、DB2 データベースが稼働している場合、vmstat -P ALL で 64 KB ページが大量に割り振られていることが確認される場合があります。 これは、DB2 データベース・マネージャーがメモリーを割り振っています。 そうではなければ、システムに大量の RAM があるために、システム・プロセッサーの消費が標準より高くなっている可能性があります。 AIX では、svmon -G コマンドおよび svmon -U <instance user id> コマンドを実行して、ページング・スペースにおけるメモリーの割り振りを表示することもできます。 Linux では、/proc/meminfo ファイルを表示して、オペレーティング・システムの観点からメモリー使用量を調べます。 db2pd -dbptnmem コマンドおよび db2pd -inst -mempools -memsets -alldbs コマンドの出力を表示して、DB2 システムのメモリー使用量を調べます。
モニター対象
オペレーティング・システム・ツールを使用して、メモリーの割り振り情報および使用されているページ・サイズを確認します。
  • イベント・モニターまたは表関数を使用して、次のモニター・エレメントを確認します。
    • total_cpu_time
    • cputime_threshold_violated

リストされている、兆候となるサインが 1 つ以上見つかった場合、メモリー過剰割り振りの問題が発生している可能性があります。『次の作業』セクションのリンクに従い、この問題を解決してください。

始める前に

システムの異常動作が起きていることを客観的に評価できるようにするには、システムの標準動作 (ベースライン) を記述した情報を入手する必要があります。その後、疑わしい異常動作の観察とベースラインを比較できます。定期的な運用モニター・タスクをスケジュールしてベースライン・データを収集することは、トラブルシューティング・プロセスのキー・コンポーネントです。システムのベースライン操作の確立について詳しくは、『システム・パフォーマンスの操作モニター』を参照してください。

次のタスク

発生している問題の原因がメモリー過剰割り振りにある可能性が高いと診断した場合、次のリンクをたどって、この問題を解決するために実行可能なステップに関する情報を入手してください: メモリー過剰割り振りの問題の解決