(57)【要約】      （修正有）【課題】少ない負荷で、高速に、プログラムによるメモリへのアクセス状況を調査する。【解決手段】仮想記憶方式に対応したオペレーティングシステムと、当該オペレーティングシステムにより所定のブロック単位で分割して管理されるメモリとを有するメモリアクセス調査装置において、実行される対象プログラムから前記メモリにアクセスがあったか否かを示すフラグ情報を、ブロック毎に保持するテーブル情報を格納するメモリ情報格納手段と、前記テーブル情報におけるフラグ情報を、所定のブロック毎に参照することにより、前記メモリへのアクセス状況を表す情報を取得し、当該情報を記憶手段に格納するメモリアクセス調査手段とを備える。【選択図】図２
2011165093.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶方式に対応したオペレーティングシステムと、当該オペレーティングシステムにより所定のブロック単位で分割して管理されるメモリとを有するメモリアクセス調査装置であって、
前記メモリアクセス調査装置において実行される対象プログラムから前記メモリにアクセスがあったか否かを示すフラグ情報を、ブロック毎に保持するテーブル情報を格納するメモリ情報格納手段と、
前記テーブル情報におけるフラグ情報を、所定のブロック毎に参照することにより、前記メモリへのアクセス状況を表す情報を取得し、当該情報を記憶手段に格納するメモリアクセス調査手段と
を備えることを特徴とするメモリアクセス調査装置。
【請求項２】
前記オペレーティングシステムは、メモリ回収機能を備え、当該メモリ回収機能により取得される所定のリストが前記メモリ情報格納手段に格納され、
前記メモリアクセス調査手段は、前記所定のリストに含まれるブロック毎にフラグ情報を参照する
ことを特徴とする請求項１に記載のメモリアクセス調査装置。
【請求項３】
前記所定のリストは、前記メモリ回収機能により取得される活性リストであることを特徴とする請求項２に記載のメモリアクセス調査装置。
【請求項４】
前記ブロックはページであり、前記テーブル情報はページテーブルであり、前記フラグ情報は、前記ページテーブルにおけるページテーブルエントリにおけるアクセスビットである
ことを特徴とする請求項１ないし３のうちいずれか１項に記載のメモリアクセス調査装置。
【請求項５】
仮想記憶方式に対応したオペレーティングシステムと、前記オペレーティングシステムにより所定のブロック単位で分割して管理されるメモリとを有するコンピュータを、請求項１ないし４のうちいずれか１項に記載のメモリアクセス調査装置におけるメモリアクセス調査手段として機能させるためのプログラム。
【請求項６】
仮想記憶方式に対応したオペレーティングシステムと、前記オペレーティングシステムにより所定のブロック単位で分割して管理されるメモリとを有するメモリアクセス調査装置が実行するメモリアクセス調査方法であって、
前記メモリアクセス調査装置は、当該メモリアクセス調査装置において実行される対象プログラムから前記メモリにアクセスがあったか否かを示すフラグ情報を、ブロック毎に保持するテーブル情報を格納するメモリ情報格納手段を備え、前記メモリアクセス調査方法は、
前記対象プログラムから前記メモリのブロックにアクセスがあった場合に、当該ブロックに対応するフラグ情報を、アクセスがあったことを示す値に変更するフラグ情報記録ステップと、
前記テーブル情報におけるフラグ情報を、所定のブロック毎に参照することにより、前記メモリへのアクセス状況を表す情報を取得し、当該情報を記憶手段に格納するメモリアクセス調査ステップと
を備えることを特徴とするメモリアクセス調査方法。
【請求項７】
前記オペレーティングシステムは、メモリ回収機能を備え、当該メモリ回収機能により取得される所定のリストが前記メモリ情報格納手段に格納され、
前記メモリアクセス調査ステップにおいて、前記メモリアクセス調査装置は、前記所定のリストに含まれるブロック毎にフラグ情報を参照する
ことを特徴とする請求項６に記載のメモリアクセス調査方法。
【請求項８】
前記所定のリストは、前記メモリ回収機能により取得される活性リストであることを特徴とする請求項７に記載のメモリアクセス調査方法。
【請求項９】
前記ブロックはページであり、前記テーブル情報はページテーブルであり、前記フラグ情報は、前記ページテーブルにおけるページテーブルエントリにおけるアクセスビットである
ことを特徴とする請求項６ないし８のうちいずれか１項に記載のメモリアクセス調査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおいて実行されるプログラムからメモリへのアクセスの状況を調査する技術に関するものである。
【背景技術】
【０００２】
近年のコンピュータには、一般的にメモリ管理の方式として仮想記憶方式が採用されている。仮想記憶方式では、プログラムに仮想アドレス空間を割り当てることにより、実アドレス空間の仮想的な拡大がなされている。
【０００３】
また、一般に、メモリ（主記憶メモリ等の物理メモリ）は、複数のページに分割され、ページ単位で管理がなされる。仮想記憶方式では、あまり使用されないページのデータは補助記憶装置に退避させ、ページへのアクセスがなされたときに、メモリにページのデータがない場合に、補助記憶装置からページのデータを読み出してメモリにロードするといった制御が行われている。  
ここで、上記のような仮想記憶方式のコンピュータが備えるメモリ量は、多すぎれば資源の無駄使いになり、コスト増になるし、少なすぎれば補助記憶装置へのアクセスが増加して、処理負荷が増大し、適切にプログラムを実行できなくなる。従って、コンピュータが実行するプログラムに応じた適切なメモリ量、すなわち必要最低限のメモリ量を把握することが求められている。
【０００４】
また、近年、コンピュータに複数の仮想マシンを備えるサーバ仮想化技術が導入されてきているが、仮想マシンの集約密度を向上させるために不可欠であるメモリの集約密度向上のために、プログラムとしての仮想マシンの実行に必要とされる必要最低限のメモリ量を把握することも求められている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Zhao, Weiming et al.: Dynamic memory balancing for virtual machines, VEE '09, pp.21-30 (2009)
【非特許文献２】Zhou, Pin et al.: Dynamic tracking of page miss ratio curve for memory management, ASPLOS-XI, pp. 177-188 (2004)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想記憶方式のコンピュータにより実行されるプログラムに対する必要最低限のメモリ量を把握するためには、コンピュータで実行されるプログラムが、どのページにどの程度の頻度でアクセスするかを調査し、把握することが必要である。
【０００７】
ここで、非特許文献１には、仮想マシン上においてアクセスのあったメモリを調べ、それを仮想マシンのメモリ量の調整に使う技術が記載されている。また、非特許文献２には、コンピュータ（物理マシン）上においてアクセスのあったメモリを調べ、当該コンピュータ上で動くプログラムに対するメモリ量を調整する技術が記載されている。
【０００８】
上記の従来技術では、いずれも、ページフォールトと呼ばれる仕組みを用いることで、メモリへのアクセスがあった際に割り込みを起こし、メモリへのアクセスを検出している。
【０００９】
図１を参照して、ページフォールトを用いて、プログラム（対象プログラムと呼ぶ）からメモリへのアクセスを調査する方法の概要を説明する。図１においては、メモリがページ単位に分割されている状況が示されている。また、図１に示すアクセス調査機構は、コンピュータで実行される調査のためのプログラム（調査プログラムと呼ぶ）に相当し、ページフォールトの通知を受けて、該当ページにプログラムからのアクセスがあったことを検知し、その旨を示す情報をアクセス情報として記憶手段に記録する機能部である。
【００１０】
図１に記載されているように、ページフォールトを用いる方法では、対象プログラムがメモリにアクセスする(ステップ１１０)たびに、ページフォールトを発生させ(ステップ１２０)、ページフォールトによる通知を受けたアクセス調査機構が、アクセス情報を更新し(ステップ１３０)、対象プログラムに対して、メモリのアクセスをした箇所からの処理実行を再開させる(ステップ１４０)。  
上記の従来の方法では、対象プログラムからのアクセスのたびに調査を行うので、調査の精度は高い。しかしながら、対象プログラムの実行中は、何度もメモリへのアクセスが発生するので、この方法では、処理負荷が高くなるという問題がある。
【００１１】
すなわち、この方法では、アクセスのたびにメモリにアクセスしようとしていた対象プログラムの動作を停止し、調査プログラム（アクセス調査機構）を実行するので、膨大な回数、調査プログラムが実行され、負荷が高くなる。
【００１２】
また、メモリをアクセスしようとしていた対象プログラムの動作を停止し、調査プログラムを動かした後に再開する処理は、現在の対象プログラムの実行状態の退避および復旧を必要とするが、この退避復旧処理にも高い負荷がかかってしまう。
【００１３】
本発明は上記の点に鑑みてなされたものであり、少ない負荷で、高速に、プログラムによるメモリへのアクセス状況を調査する技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明は、仮想記憶方式に対応したオペレーティングシステムと、当該オペレーティングシステムにより所定のブロック単位で分割して管理されるメモリとを有するメモリアクセス調査装置であって、前記メモリアクセス調査装置において実行される対象プログラムから前記メモリにアクセスがあったか否かを示すフラグ情報を、ブロック毎に保持するテーブル情報を格納するメモリ情報格納手段と、前記テーブル情報におけるフラグ情報を、所定のブロック毎に参照することにより、前記メモリへのアクセス状況を表す情報を取得し、当該情報を記憶手段に格納するメモリアクセス調査手段とを備えることを特徴とするメモリアクセス調査装置として構成できる。
【００１５】
前記オペレーティングシステムは、メモリ回収機能を備え、当該メモリ回収機能により取得される所定のリストが前記メモリ情報格納手段に格納され、前記メモリアクセス調査手段は、前記所定のリストに含まれるブロック毎にフラグ情報を参照することができる。
【００１６】
また、前記所定のリストとしては、前記メモリ回収機能により取得される活性リストを用いることができる。
【００１７】
また、前記ブロックはページであり、前記テーブル情報はページテーブルであり、前記フラグ情報は、前記ページテーブルにおけるページテーブルエントリにおけるアクセスビットであることとしてもよい。
【発明の効果】
【００１８】
本発明によれば、メモリ情報格納手段に格納されるテーブル情報におけるフラグ情報を、所定のブロック毎に参照することにより、メモリへのアクセス状況を表す情報を取得することとしたので、少ない負荷で、高速に、アクセス状況を調査することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】従来のメモリアクセス調査方法を説明するための図である。
【図２】本発明の実施の形態に係るメモリアクセス調査装置１の機能構成図である。
【図３】仮想記憶方式に基づくメモリアクセス処理方法を説明するための図である。
【図４】ページテーブルエントリの一例を示す図である。
【図５】ページ回収機能部１３２の処理を説明するための図である。
【図６】メモリアクセス調査装置１の動作の概要を説明するための図である。
【図７】メモリアクセス調査部１１の動作の具体的な処理例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態を説明する。なお、本実施の形態では、メモリがページ単位に分割される例を示すが、メモリが分割される単位はページに限らない。所定のブロックの単位で分割されていればよい。
【００２１】
（装置構成）
図２に、本発明の実施の形態に係るメモリアクセス調査装置１の機能構成図を示す。図２に示すように、本実施の形態のメモリアクセス調査装置１は、メモリアクセス調査部１１、プログラム機能部１２、ＯＳ部１３、及び、アクセス調査の対象となるメモリ１４を備えている。
【００２２】
メモリアクセス調査部１１は、本発明に係るメモリアクセス調査を行う機能部であり、メモリアクセス調査を行って、調査の結果を、メモリアクセス調査部１１が備えるメモリアクセス情報格納部１１１に格納する。メモリアクセス調査の詳細については後述する。
【００２３】
プログラム機能部１２は、調査対象のプログラムに対応する機能部であり、ＯＳ部１３を介してメモリ１４へのアクセスを行いながら、当該プログラムに規定された所定の処理を実行する機能部である。このプログラムは、例えば、アプリケーションプログラム、仮想マシンのプログラム等である。
【００２４】
ＯＳ部１３は、ＵＮＩＸ（登録商標）やＬｉｎｕｘ（登録商標）等、一般的に普及しているＯＳ（オペレーティングシステム）に対応する機能部である。ＯＳ部１３は、一般的なＯＳが備える種々の機能を有するが、本実施の形態では、特に、メモリ管理機能部１３１を示している。メモリ管理機能部１３１は、仮想記憶方式を実現するために必要な機能を含み、その中の１つの機能としてページ回収機能部１３２が示されている。また、メモリ管理機能部１３１は、ページに関する情報を格納するメモリ情報格納部１３３を有する。
【００２５】
メモリアクセス調査装置１は、ハードウェアとしてはメモリやハードディスク等の記憶手段、及びＣＰＵを含む一般的なコンピュータの構成を有する。各機能部は、プログラムがコンピュータで実行されることにより実現されるものである。
【００２６】
図２に示す各機能部は、コンピュータの中で、プログラムと、ＣＰＵ等のハードウェアとが協働することにより実現される機能要素を示しているが、本発明の内容に鑑みて、調査の対象となる「メモリ１４」については、物理メモリ（ハードウェア）として示されている。なお、便宜上、プログラム機能部１２を「プログラム」と呼び、ＯＳ部１３を「ＯＳ（オペレーティングシステム」と呼んでもよい。また、プログラム機能部１２に相当する「プログラム」を、プロセスと呼んでもよい。
【００２７】
また、メモリアクセス調査部１１に対応するプログラムを、メモリ回収機能等を有する一般的なOSを備えるコンピュータにインストールすれば、メモリアクセス調査装置１を実現することができる。当該プログラムは、可搬メモリ等の記録媒体からコンピュータにインストールすることもできるし、ネットワーク上のサーバからダウンロードしてインストールしてもよい。
【００２８】
ここで、メモリ管理機能部１３１により実行される仮想記憶方式に基づくメモリアクセス処理方法について、図３を参照して説明する。
【００２９】
本実施の形態において、メモリ管理機能部１３１が管理するメモリ情報格納部１３３には、図３に示すようなページディレクトリテーブル３１とページテーブル３２が格納されている。この例では、ページディレクトリテーブル３１とページテーブル３２の2段階で、仮想アドレス（論理アドレスとも呼ぶ）から、メモリの物理アドレス（実アドレスとも呼ぶ）への変換が行われる。
【００３０】
図３に示す例において、プログラム機能部１２がメモリ１４にアクセスする場合に、図３に示される論理アドレスがメモリ管理機能部１３１に渡される。メモリ管理機能部１３１は、まずページディレクトリテーブル３１を参照し、ページディレクトリテーブルインデックスが示すページディレクトリエントリからページテーブルアドレスを取得する。
【００３１】
続いて、メモリ管理機能部１３１は、ページディレクトリアドレスに対応するページテーブル３２を参照し、当該ページテーブル３２において、ページテーブルインデックスが示すページテーブルエントリからページのベースアドレス（メモリ上のページの先頭アドレス）を取得する。そして、メモリ管理機能部１３１は、ベースアドレスに、オフセットを加えた値を物理アドレスとしてメモリアクセスを行う。
【００３２】
本実施の形態におけるページテーブルエントリの一例を図４に示す。図４に示すように、ページテーブルエントリは、ページベースアドレスとページへのアクセスがあったか否かの情報であるアクセスビットを有している。アクセスビットは、該当ページへのアクセスがあったときに、メモリ管理機能部１３１（つまり、ＯＳプログラムを実行しているＣＰＵ）により"１"にされる。また、メモリ管理機能部１３１は、各ページテーブルエントリにおいて、"１"にされたアクセスビットを定期的に"０"にする処理を行っている。
【００３３】
ここで説明した論理アドレスから物理アドレスへの変換の基本的な仕組みや、アクセスビットに相当する情報の管理等は、仮想記憶方式を採用しているＯＳを搭載したコンピュータに共通である。
【００３４】
次に、メモリ管理機能部１３１が有するページ回収機能部１３２について説明する。
【００３５】
ページ回収機能部１３２は、メモリ管理機能部１３１により管理されるメモリの容量が不足したときに、あまりアクセスされないページのデータを補助記憶装置に退避して、メモリに空き領域を設けるための機能部である。なお、"あまりアクセスされないページ"は、例えば、所定の期間内で、最後にアクセスされた時（タイミング）が、最も古いページ等である。
【００３６】
ページ回収機能部１３２では、あまりアクセスされないメモリの領域のデータを効率的に退避するために、活性リストと非活性リストの２つのリストを用いたメモリ管理を行っている。これらのリストは、メモリ情報格納部１３３に格納されるものである。活性リストと非活性リストには、それぞれページを示す識別情報（ページへアクセスするためのポインタ等）が記録される。
【００３７】
活性リストには、よくアクセスされるページの識別情報が入れられ、非活性リストには、あまりアクセスの無いページの識別情報が入れられる。なお、実際には、活性リスト及び非活性リストは、構造体で表現され、構造体におけるそれぞれのメンバは、管理対象となっているページのページ構造体で表現されている。
【００３８】
図５を参照して、ページ回収機能部１３２の処理概要を説明する。ページ回収機能部１３２は、新規にプログラム（プログラム機能部１２に相当）に割り当てられたページを活性リストに追加する（図５において"ａ"で示される）。そして、ページ回収機能部１３２は、活性リストおよび非活性リストにあるページを定期的に調査し、アクセスがあまり行われていないのに活性リストにあるページを、活性リストから削除して、非活性リストに加える（ｂ）。また、アクセスがよく行われている非活性リストのページは、非活性リストから削除して、活性リストに加える（ｃ）。
【００３９】
そして、ページ回収機能部１３２は、メモリが不足したときには非活性リストを調べ、このときにアクセスがなかったと判別されたページのデータを補助記憶装置に退避させることにより、当該ページを利用可能にする。
【００４０】
なお、活性リストおよび非活性リストの２つのリストを用いてページ回収管理を行う手法は、近年よく用いられているＯＳに一般的な手法であり、特定のＯＳに依存する手法ではない。
【００４１】
（メモリアクセス調査の処理内容）
次に、メモリアクセス調査に関わるメモリアクセス調査装置１の動作を説明する。まず、図６を参照して、動作の概要を説明する。
【００４２】
プログラム機能部１２からＯＳ部１３を介してメモリ１４に対してアクセスがある(ステップ２１０)と、アクセス先のページに対応するページテーブルエントリにあるアクセスビットが立てられる(１になる)（ステップ２２０）。なお、アクセスされる前にはアクセスビットは立っておらず、０である。また、アクセスビット１が記録された後は、すぐにプログラム機能部１２の処理が再開される（ステップ２３０）。
【００４３】
一方、ステップ２１０〜２３０の処理とは別に、メモリアクセス調査部１１は、メモリ情報格納部１３３に格納されているページテーブルの中のページテーブルエントリを調査する（ステップ２５０）。ただし、本実施の形態では、ページテーブルエントリを調査する前に、前述したページ回収機能部１３２が管理している活性リストを参照し（ステップ２４０）、活性リストに含まれているページの識別情報を取得し、活性リストに含まれているページのみをページテーブルエントリ調査の対象として、ステップ２５０におけるページテーブルエントリ調査を行って、アクセスビットが立っているページの情報を取得し、取得した情報を、メモリアクセス調査結果としてメモリアクセス情報格納部１１１に格納する（ステップ２６０）。また、ステップ２６０において、"１"のアクセスビットは"０"にされる。
【００４４】
ステップ２４０〜ステップ２６０の処理は定期的に行われ、結果として得られる調査結果から、メモリへのアクセス状況を把握することが可能になる。
【００４５】
メモリアクセス調査部１１は、例えばユーザからの指示に基づき、メモリアクセス情報格納部１１１からメモリアクセス調査結果を読み出し、通信ネットワークを介して他の装置に送信したり、ディスプレイに表示する等の出力処理を行うことができる。
【００４６】
上記のように、本実施の形態では、プログラム機能部１２における処理とは別に、定期的にメモリアクセス調査を実行するので、プログラム機能部１２におけるプログラムの実行に与える負荷を低減している。また、本実施の形態では、ページ回収機能部１３２が作成する情報（活性リスト）を利用することで、調査すべきページの範囲（つまり、調査すべきページテーブルエントリの数）を制限することができ、高速な調査が可能になっている。すなわち、活性リストを用いることにより、アクセスされた可能性が高いページに対応したページテーブルエントリだけを調査することができ、調査にかかる時間および負荷を大幅に削減できる。
【００４７】
なお、本実施の形態では、活性リストを用いた調査範囲の制限を行うことは必ずしも必須ではない。活性リストを用いた調査範囲の制限を行わなくても、ページフォールトを用いる従来技術に比べれば、低負荷で調査を行うことが可能である。
【００４８】
（メモリアクセス調査処理の具体例）
以下、メモリアクセス調査部１１における処理例を、図７に示すフローチャートを参照して、より詳細に説明する。
【００４９】
本例では、メモリアクセス調査部１１は、変数であるList、ｍ、ｅ、addr、及びaccess_bmp[addr]を用いて処理を行う。access_bmp[addr]は配列であり、本例では、access_bmp[addr]に、ページアドレス毎のアクセスの量を示す情報が記録される。ここに記録された情報を参照することにより、どのメモリページにどの程度のアクセスがあったかの傾向を把握することが可能となる。なお、各変数は、メモリアクセス調査部１１が用いる記憶手段の中の所定の領域であるが、ここでは便宜上、上記の変数を用いた処理を説明する。
【００５０】
図７に示すように、まず、メモリアクセス調査部１１は、メモリ情報格納部１３３から、活性リストを取得し、Listに代入する（ステップ３１０）。これにより、調査の範囲を活性リストが示すページの範囲に限定している。
【００５１】
メモリアクセス調査部１１は、Listが空かどうかを調べ（ステップ３２０）、空であれば処理を終了する。ステップ３２０にて、Listが空でない場合、メモリアクセス調査部１１は、mにListの先頭の要素であるページ識別情報を代入し（ステップ３３０）、代入したページ識別情報をListから削除する（ステップ３４０）。
【００５２】
ここでのページ識別情報は、ページ管理のための構造体であり、ページテーブルエントリのデータにアクセスするために必要なアドレス情報を含む。
【００５３】
続いて、メモリアクセス調査部１１は、ｍに代入されたページ識別情報を用いて、メモリ情報格納部１３３に格納されているページテーブルにおけるページテーブルエントリのデータを取得し、それをeに代入する（ステップ３５０）。
【００５４】
eに代入されたページテーブルエントリのデータの構造は図４に示したとおりであり、メモリアクセス調査部１１は、当該ページテーブルエントリのデータにおけるアクセスビットが立っているかどうか（１であるかどうか）を調べる（ステップ３６０）。
【００５５】
ここで、アクセスビットが立っていなければ、ステップ３２０に戻る。ステップ３６０において、アクセスビットが立っている場合、メモリアクセス調査部１１は、ページテーブルエントリに含まれているベージアドレス（ページの先頭アドレス）をaddrに代入し（ステップ３７０）、配列access_bmpにおけるaddrに対応する値を1増やす（ステップ３８０）。また、本例では、ステップ３８０にて、調査対象となったページテーブルエントリにおける"１"のアクセスビットを"０"にする。
【００５６】
上記の処理が、Listが空になるまで、すなわち、活性リストの要素の数だけ行われる。また、図７に示す処理は、予め定めた時間間隔で実行される。これにより、例えば、アクセスビットがほとんど常に１であるページに対応する配列の要素は大きな数字になり、低い頻度でしかアクセスビットが１にならないページに対応する配列の要素は小さな数字になる。これにより、access_bmp[addr]の値を参照することで、どのページに、どの程度の頻度でアクセスがあったかを把握でき、プログラムが最低限必要とするメモリ量を予測できる。
【００５７】
なお、アクセスビットを参照することにより取得するアクセス状況を表す情報として、上記のようにして求めるaccess_bmp[addr]は一例に過ぎない。例えば、ページの入れ替えアルゴリズムとして広く使用されているLRU（Least Recently Used）に基づきアクセス状況を表す情報を算出してもよい。
【００５８】
（実施の形態の効果）
本実施の形態で説明したメモリアクセス調査部１２は、ページテーブルエントリを参照することによりメモリアクセスを調査するので、ページフォールトを利用して調査を行う従来技術のように現在実行中のプログラムを停止することなくメモリのアクセス状況を調査でき、従来技術よりも処理負荷を低減できる。
【００５９】
また、OSが有するメモリ回収機構の情報を用いることにより、調査を行うページテーブルエントリを限定するので、全てのページテーブルエントリを探索する場合に比べて、処理負荷、及び調査にかかる時間を低減することが可能になる。
【００６０】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００６１】
１  メモリアクセス調査装置
１１  メモリアクセス調査部
１１１  メモリアクセス情報格納部
１２  プログラム機能部
１３  ＯＳ部
１３１  メモリ管理機能部
１３２  ページ回収機能部
１３３  メモリ情報格納部
１４  メモリ
３１  ページディレクトリテーブル
３２  ページテーブル
【図１】
2011165093.tif 000003
【図２】
2011165093.tif 000004
【図３】
2011165093.tif 000005
【図４】
2011165093.tif 000006
【図５】
2011165093.tif 000007
【図６】
2011165093.tif 000008
【図７】
2011165093.tif 000009