JP5478368B2 - メモリ消費量測定方法及びメモリ消費量測定プログラム - Google Patents

メモリ消費量測定方法及びメモリ消費量測定プログラム Download PDF

Info

Publication number
JP5478368B2
JP5478368B2 JP2010127738A JP2010127738A JP5478368B2 JP 5478368 B2 JP5478368 B2 JP 5478368B2 JP 2010127738 A JP2010127738 A JP 2010127738A JP 2010127738 A JP2010127738 A JP 2010127738A JP 5478368 B2 JP5478368 B2 JP 5478368B2
Authority
JP
Japan
Prior art keywords
memory
amount
software platform
program
measurement target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010127738A
Other languages
English (en)
Other versions
JP2011253426A (ja
Inventor
幸生 小池
重邦 近藤
育生 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010127738A priority Critical patent/JP5478368B2/ja
Publication of JP2011253426A publication Critical patent/JP2011253426A/ja
Application granted granted Critical
Publication of JP5478368B2 publication Critical patent/JP5478368B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムのメモリ消費量を測定する技術に関する。
既存の技術として、図9に示すように、あるハードウェア9に起動したソフトウェアプラットフォーム91上で1つ以上のプログラムモジュール92A,92B,・・を動作させることがある。例えば、Java(登録商標)は、JavaVMというプラットフォーム上でJavaプログラムを動作させる。vmware(登録商標)やxen(登録商標)などの仮想化技術を利用したプログラムも、仮想的なマシンとなるソフトウェアプラットフォーム上で、様々なプログラムモジュールを動作させるものである。また、Open Services Gateway initiative(OSGi)は、ソフトウェアプラットフォームとしてJavaVMを利用してOSGiフレームワークを動作させ、その上でOSGiバンドルと呼ばれるJavaプログラムモジュールを複数動作させるものである。
ソフトウェアプラットフォームは一般的に起動オプションとしてヒープメモリ量、もしくは最大のヒープメモリ量を設定可能である。ヒープメモリとは、ソフトウェアプラットフォームがプログラムモジュールを動作させるために用意するメモリ領域である。例えば、ソフトウェアプラットフォームがJavaVMである場合、Javaプログラムが生成するインスタンスを確保する為にヒープメモリが利用される。このヒープメモリをどのような値として確保するかは、ソフトウェアプラットフォームを動作させるハードウェア/OSの設計に関わるため、あるプログラムモジュールを利用するために必要なヒープメモリの大きさを測定することは重要である。
ここで、ソフトウェアプラットフォーム上で動作するプログラムモジュールAが正常動作するために最小限必要なヒープメモリ量を測定したいとする。測定するヒープメモリ量には、(a)ある定常状態においてプログラムモジュールAが必要とするヒープメモリ量、(b)プログラムモジュールAにある処理を行わせた際に(ピークとして)必要とするヒープメモリ量、が存在する。
既存のヒープメモリ測定手段として、ソフトウェアプラットフォームに監視ツール向けインタフェースが規定・実装されている場合がある。例えば、ソフトウェアプラットフォームとしてJavaVMを利用する場合、JVMPIとして監視ツール向けインタフェースが規定されている(非特許文献1参照)。その場合はそのインタフェースを利用した監視ツールにより測定することができる。
"Java Virtual Machine Profiler Interface(JVMPI)",[online],[平成22年5月17日検索],インターネット〈URL:http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jvmpi/jvmpi.html〉
しかしながら、上記のようなインタフェースが存在しない、あるいは存在しても実装されていない場合が存在する。例えば、ソフトウェアプラットフォームとして組み込み機器上で組み込み向けJavaVMを利用する場合、小型化のために監視ツール向けインタフェースが実装されていないことが多い。
また、測定対象プログラムモジュール自身に手を加えることが可能である場合は、任意の時点で消費ヒープメモリ量を出力させることができるが、測定対象プログラムモジュールには手を加えることができない場合が多く、このような手段は利用できない。
このように、ヒープメモリの消費量を測定する手段に制限がある場合、以下の消費ヒープメモリ量を測定する方法が考えられる。
手順1として、ソフトウェアプラットフォームが利用するヒープメモリ量を設定し、ソフトウェアプラットフォームと測定対象のプログラムモジュールAを起動する。
手順2として、上記(a)についての消費ヒープメモリ量を測定する場合は、プログラムモジュールAを測定対象の定常状態に遷移させ、十分な時間を経過させる。上記(b)についての消費ヒープメモリ量を測定する場合は、プログラムモジュールAに測定対象の処理を行わせる。
手順3として、上記の手順2が正常に完了するか否か判定し、正常に完了する場合は、ソフトウェアプラットフォームに設定するヒープメモリ量を小さくし、手順1から処理を繰り返す。一方、上記の処理が正常に完了しない場合、ヒープメモリ量を大きくし、手順1から処理を繰り返す。
このように、手順1,2,3を複数回試行し、手順2が正常に完了する最小のヒープメモリ量を求める。求めたヒープメモリ量が目的である(a)あるいは(b)のヒープメモリ量である。
しかしながら、上記の方法には以下に示す課題が存在する。
第1に、ソフトウェアプラットフォームに設定できるヒープメモリ量の粒度が測定したい粒度より大きい場合がある。
第2に、上記(a)についての消費ヒープメモリ量を測定する場合、定常状態への遷移までにヒープメモリの使用量ピークがあるときは、その使用量ピークを測定したことになる。これを回避するためには、予め十分大きなヒープメモリ量を設定し、測定対象の定常状態へ遷移した後でヒープメモリ量を小さく変更する、動的なヒープメモリ量の設定が必要となるが、通常のソフトウェアプラットフォームでは起動時に静的に設定するものがほとんどである。
本発明は、上記に鑑みてなされたものであり、ソフトウェアプラットフォームの実装に依存せず、細かな粒度で、任意のタイミングにおけるヒープメモリ使用量を測定することを目的とする。
第1の本発明に係るメモリ消費量測定方法は、ソフトウェアプラットフォーム上で動作する測定対象モジュールが使用するメモリ消費量を測定するコンピュータによって実行されるメモリ消費量測定方法であって、前記ソフトウェアプラットフォームを起動し、当該ソフトウェアプラットフォーム上で前記測定対象モジュールと指定された量のメモリを確保するメモリ確保モジュールを動作させるステップと、前記メモリ確保モジュールにより前記指定された量のメモリが確保された後の前記ソフトウェアプラットフォームの状態を判定するステップと、前記指定された量を変化させて前記メモリ確保モジュールにメモリを確保させ、前記ソフトウェアプラットフォームの状態が正常であった場合のうち最大の前記指定された量を最大メモリ確保量として取得するステップと、前記ソフトウェアプラットフォームのメモリ量から前記最大メモリ確保量を引いて前記測定対象モジュールのメモリ消費量を算出するステップと、を有することを特徴とする。
第2の本発明に係るメモリ消費量測定プログラムは、上記メモリ消費量測定方法をコンピュータに実行させることを特徴とする。
本発明によれば、ソフトウェアプラットフォームの実装に依存せず、細かな粒度で、任意のタイミングにおけるヒープメモリ使用量を測定することができる。
本実施の形態におけるメモリ消費量測定装置の構成を示す機能ブロック図である。 メモリ消費量を測定する処理の流れを示すフローチャートである。 メモリ消費量の算出を説明する概略図である。 メモリ消費量を測定する別の処理の流れの一部を示すフローチャートである。 メモリ消費量を測定するさらに別の処理の流れの一部を示すフローチャートである。 実施例1のソフトウェアプラットフォームおよび各プログラムを示す概略図である。 実施例2のソフトウェアプラットフォームおよび各プログラムを示す概略図である。 実施例3のソフトウェアプラットフォームおよび各プログラムを示す概略図である。 ソフトウェアプラットフォームとその上で動作するプログラムモジュールを示す概略図である。
以下、本発明の実施の形態について図面を用いて説明する。
図1は、本実施の形態におけるメモリ消費量測定装置の構成を示す機能ブロック図である。
同図に示すメモリ消費量測定装置1は、起動部11、設定部12、操作要求部13、通信部14、停止部15、判定部16、記憶部17、計算部18、および出力部19を備える。メモリ消費量測定装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはメモリ消費量測定装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
起動部11は、測定対象プログラム21を動作させるソフトウェアプラットフォーム2、ソフトウェアプラットフォーム2上で動作するメモリ確保プログラム22を起動する。起動部11は、ヒープメモリ量Xを指定してソフトウェアプラットフォーム2を、メモリ確保量Yを指定してメモリ確保プログラム22を起動する。なお、ソフトウェアプラットフォーム2は、メモリ消費量測定装置1内で動作させてもよいし、別のコンピュータ上で動作させてもよい。また、実際に確保されるヒープメモリ量は、設定したヒープメモリ量Xと同値になっているものとする。そのようなヒープメモリ量Xの値は事前に測定し分かっているものとする。以下、ヒープメモリ量Xに関しては同様である。
設定部12は、ヒープメモリ量X、メモリ確保量Yなどの設定を保持する。起動部11は、ソフトウェアプラットフォーム2、メモリ確保プログラム22を起動する際に、設定部12を参照してヒープメモリ量X、メモリ確保量Yを得る。
操作要求部13は、測定対象プログラム21が測定対象の状態となるために必要な操作を要求する。操作の要求は、通信部14により、測定対象プログラム21を操作する外部ツール3に送信される。あるいは、出力部19により、ユーザ4に操作内容を提示し、ユーザ4に測定対象プログラム21を操作させる。
通信部14は、操作要求部13が要求する操作を外部ツール3へ送信する。あるいは、ソフトウェアプラットフォーム2上で動作するプログラムとの通信を行う。
停止部15は、測定対象プログラム21が測定対象の状態に遷移し、ソフトウェアプラットフォーム2の状態が得られたときに、ソフトウェアプラットフォーム2を停止する。ソフトウェアプラットフォーム2の停止に伴い、測定対象プログラム21とメモリ確保プログラム22も停止する。
判定部16は、測定対象プログラム21が測定対象の状態に遷移したとき、ソフトウェアプラットフォーム2が正常な状態か異常な状態か判定する。異常な状態とは、例えば、メモリ不足を示すOut of Memory Errorが出力されている状態である。
記憶部17は、ヒープメモリ量X、メモリ確保量Yなどの設定と判定部16の判定結果を記憶する。
計算部18は、記憶部17からヒープメモリ量X、メモリ確保量Y、および判定結果を読み出し、測定対象プログラム21が使用するヒープメモリ量を計算する。具体的には、測定対象プログラム21が測定対象の状態に遷移したときに、ソフトウェアプラットフォーム2が正常な状態である最大のメモリ確保量Ymaxを求め、ヒープメモリ量Xからメモリ確保量Ymaxを引くことで、測定対象プログラム21が使用するヒープメモリ量を計算する。
出力部19は、計算部18が計算したヒープメモリ量やユーザに対する指示の表示や出力を行う。
続いて、メモリ確保プログラム22について説明する。
メモリ確保プログラム22は、コンピュータを起動部221、メモリ確保部222、および設定部223として機能させる。起動部221は、測定対象プログラム21をソフトウェアプラットフォーム2上で起動する。メモリ確保部222は、設定部223の保持する設定に従って、ヒープメモリを確保する。設定部223は、起動時に指定されたオプションなどの設定を保持する。なお、メモリ確保プログラム22が測定対象プログラム21を起動せず、別の方法により測定対象プログラム21を起動するものでもよい。
次に、処理の流れについて説明する。
図2は、測定対象プログラム21のメモリ消費量を測定する処理の流れを示すフローチャートである。
まず、設定部12において、ソフトウェアプラットフォーム2に設定するヒープメモリ量Xとメモリ確保プログラム22に設定するメモリ確保量Yを決定する(ステップS101)。ヒープメモリ量Xの初期値には適切な値を指定しておく。メモリ確保量Yの初期値は0とする。なお、メモリ確保量Yの初期値は、ソフトウェアプラットフォーム2が正常に動作する値であれば0に限るものではない。
続いて、起動部11が、ヒープメモリ量Xを指定してソフトウェアプラットフォーム2を起動し、メモリ確保量Yを指定してメモリ確保プログラム22を実行する(ステップS102)。
続いて、メモリ確保プログラム22により機能するメモリ確保部222は、メモリ確保量Yに基づいて確保すべき配列やインスタンスの量を計算し、ヒープメモリを確保する(ステップS103)。
そして、メモリ確保プログラム22により機能する起動部221が測定対象プログラム21を起動する(ステップS104)。
その後、操作要求部13は、測定対象プログラム21が測定対象の状態となるために必要な操作を要求し、測定対象プログラム21を測定対象の状態へ遷移させる(ステップS105)。具体的には、操作要求を通信部14により外部ツール3へ送信する、あるいは、操作要求を出力部19によりユーザ4へ提示する。そして、外部ツール3あるいはユーザ4が測定対象プログラム21を操作して測定対象の状態へ遷移させる。
測定対象プログラム21が測定対象の状態へ遷移した後、判定部16がソフトウェアプラットフォーム2が正常な状態であるか異常な状態であるか判定する(ステップS106)。
そして、ヒープメモリ量X、メモリ確保量Yと判定部16の判定結果を記憶部17に記録し(ステップS107)、停止部15がソフトウェアプラットフォーム2を停止する(ステップS108)。
そして、判定部16は、メモリ消費量を求める次の処理を実行する。
まず、判定結果が正常であるか否か判定し(ステップS109)、判定結果が正常である場合、メモリ確保プログラム22に設定するメモリ確保量Yをより大きな値に設定する(ステップS110)。測定したい粒度に応じて、メモリ確保量Yをより大きな値にし、設定部12が再設定した値を保持する。そして、ステップS102に戻り、新たなメモリ確保量Yを用いてソフトウェアプラットフォーム2、メモリ確保プログラム22を起動する。なお、メモリ確保量Yをより大きな値に変化させる刻み幅は、必ずしも一定である必要はなく、動的に変化させてもよい。
判定結果が異常の場合、メモリ確保量Yが0であるか否か判定する(ステップS111)。メモリ確保量Yが0である場合、ソフトウェアプラットフォーム2に設定したヒープメモリ量Xが不足しているので、ヒープメモリ量Xをより大きな値に設定し(ステップS112)、ステップS102に戻り、新たなヒープメモリ量Xを用いてソフトウェアプラットフォーム2、メモリ確保プログラム22を起動する。
メモリ確保量Yが0でない場合、計算部18が、前回の判定結果が正常である場合のメモリ確保量YをYmaxとして測定対象プログラム21が使用するヒープメモリ量を計算し(ステップS113)、出力部19がその結果を出力あるいは表示する(ステップS114)。図3に示すように、測定対象プログラム21が使用するヒープメモリ量は、ソフトウェアプラットフォーム2に設定したヒープメモリ量Xからメモリ確保量Ymaxを引くことで計算できる。
なお、メモリ確保量Yの初期値をヒープメモリ量Xと同じ、あるいは、ソフトウェアプラットフォーム2が異常となる値に設定し、ソフトウェアプラットフォーム2が正常に動作するまでメモリ確保量Yを小さくしつつ上記ステップS102〜S108を繰り返し、ソフトウェアプラットフォーム2が正常に動作したときのメモリ確保量Yを求めて、その時のメモリ確保量YをYmaxとして測定対象プログラム21が使用するヒープメモリ量を計算してもよい。
次に、ヒープメモリを確保するタイミングが異なる別の処理の流れについて説明する。ここで説明する処理は、図2で示したものに対して、メモリ確保部222がヒープメモリを確保するタイミングが異なる。以下、図2との差異点について説明する。
図4は、測定対象プログラム21のメモリ消費量を測定する別の処理の流れの一部を示すフローチャートである。
図2のステップS102の処理の後、メモリ確保部222は、一定時間T待機するタイマーを起動する(ステップS201)。一定時間Tは、設定部12において設定されており、図2のステップS102においてメモリ確保プログラム22を実行する際に指定される。
続いて、図2と同様に、測定対象プログラム21を起動し(ステップS202)、測定対象プログラム21を測定対象の状態へ遷移させる(ステップS203)。
タイマーが一定時間Tに達すると、メモリ確保部222はヒープメモリを確保する(ステップS204)。
その後、図2のステップS106へ進み、測定対象プログラム21が使用するヒープメモリ量を計算する。なお、メモリ確保プログラム22を再起動するときは、一定時間Tの値は変化させない。
次に、ヒープメモリを確保するタイミングが異なるさらに別の処理の流れについて説明する。ここで説明する処理では、メモリ確保部222が、メモリ消費量測定装置1の指示により、ヒープメモリを確保する。以下、図2との差異点について説明する。
図5は、測定対象プログラム21のメモリ消費量を測定するさらに別の処理の流れの一部を示すフローチャートである。
図2のステップS102の処理の後、測定対象プログラムを起動し(ステップS301)、測定対象プログラムを測定対象の状態へ遷移させる(ステップS302)。この段階では、メモリ確保部222はヒープメモリの確保を行わない。
メモリ消費量測定装置1の通信部14がメモリ確保部222にメモリ確保の指示を出すと、メモリ確保部222はヒープメモリを確保する(ステップS303)。
その後、図2のステップS106へ進み、測定対象プログラム21が使用するヒープメモリ量を計算する。
以上説明したように、本実施の形態によれば、ソフトウェアプラットフォーム2上で、測定対象プログラム21とともにメモリ確保プログラム22を動作させ、メモリ確保プログラム22が確保するメモリ確保量Yを変化させて、そのときのソフトウェアプラットフォーム2の状態が正常であるか異常であるかを調べ、正常な状態における最大のメモリ確保量Ymaxを測定することにより、ソフトウェアプラットフォーム2のヒープメモリ量Xからメモリ確保量Ymaxを引くことで、ソフトウェアプラットフォーム2に設定できるヒープメモリ量Xの粒度に依存せず、より細かな粒度で測定対象プログラム21が使用するヒープメモリ量を求めることができる。
本実施の形態によれば、測定対象プログラム21が所望の状態に遷移した後でメモリ確保プログラム22がヒープメモリを確保することにより、測定対象プログラム21の起動から測定対象とする定常状態へ遷移するまでの状態に依存することなく、定常状態での消費ヒープメモリ量を測定することができる。
次に、ソフトウェアプラットフォーム2、測定対象プログラム21、およびメモリ確保プログラム22の具体的な3つの実施例について説明する。
[実施例1]
図6は、ソフトウェアプラットフォーム6がJavaVM、測定対象プログラム61とメモリ確保プログラム62がJavaプログラムである場合のソフトウェアプラットフォームおよび各プログラムを示す概略図である。メモリ確保プログラム62は、コンピュータを起動部621、メモリ確保部622、および設定部623として機能させる。
ソフトウェアプラットフォーム6、およびメモリ確保プログラム62は、図示しないメモリ消費量測定装置1により起動される。メモリ確保プログラム62は、起動する際にメモリ確保量Yを指定され、メモリ確保部622は、設定部623からメモリ確保量Yを読み出し、メモリ確保量Y分のメモリを配列やインスタンスなどの形で確保し続ける。メモリ確保部622が確保したヒープメモリは、JavaVMのガベージコレクションの対象とならない。なお、メモリ確保量Yと確保するメモリ量(配列の大きさ)との対応関係は、事前に従来手法によって測定し、測定点を一次関数などで内挿することにより、指定されたメモリ確保量Y分のメモリを確保する配列の大きさなどを決定し、より小さな粒度での設定を可能とする。
また、起動部621は、測定対象プログラム61のmainメソッドを呼び出すランチャープログラムとする。一般的なJavaプログラムは必ずmainメソッドを有する。メモリ確保プログラム62は、メモリ確保部622が所定のメモリ確保量Yを確保した後、自分自身は動作したまま、測定対象プログラム61のmainメソッドを呼び出すことにより、測定対象プログラム61を起動する。
[実施例2]
図7は、ソフトウェアプラットフォーム7がJavaVM、測定対象プログラム71がOSGiバンドルプログラムであり、メモリ確保プログラム72がOSGiフレームワーク73を起動するJavaプログラムである場合のソフトウェアプラットフォームおよび各プログラムを示す概略図である。メモリ確保プログラム72は、コンピュータを起動部721、メモリ確保部722、および設定部723として機能させる。
ソフトウェアプラットフォーム7、およびメモリ確保プログラム72は、図示しないメモリ消費量測定装置1により起動される。メモリ確保プログラム72は、起動後所定のメモリ確保量Yを確保した後、自分自身は動作したまま、OSGiフレームワーク73のmainメソッドを呼びOSGiフレームワーク73を起動する。そして、OSGiフレームワーク73は、OSGiバンドルプログラムである測定対象プログラム71を起動する。なお、複数の測定対象プログラム71を起動させてもよい。
この実施例では、測定対象プログラム71とOSGiフレームワーク73が消費するヒープメモリ量を合算して測定できる。
[実施例3]
図8は、ソフトウェアプラットフォーム8がJavaVM、測定対象プログラム81とメモリ確保プログラム82がOSGiバンドルプログラムである場合のソフトウェアプラットフォームおよび各プログラムを示す概略図である。OSGiフレームワーク83が測定対象プログラム81とメモリ確保プログラム82を起動し、メモリ確保プログラム82は、コンピュータをメモリ確保部821、および設定部822として機能させる。
図示しないメモリ消費量測定装置1が、ソフトウェアプラットフォーム8とOSGiフレームワーク83を起動する。メモリ消費量測定装置1は、OSGiフレームワーク83と通信することで、測定対象プログラム81、メモリ確保プログラム82を任意のタイミングで起動することができる。測定対象プログラム81が所望の状態に遷移した後でメモリ確保プログラム82を起動しメモリを確保させてもよいし、メモリ確保プログラム82を起動しメモリを確保したあとで測定対象プログラム81を起動させてもよい。
なお、事前にOSGiフレームワーク83のみが消費するヒープメモリ量を測定することで、OSGiフレームワーク83が表紙するヒープメモリ量を除いた測定対象プログラム81の消費するヒープメモリ量を測定することができる。
1…メモリ消費量測定装置
11…起動部
12…設定部
13…操作要求部
14…通信部
15…停止部
16…判定部
17…記憶部
18…計算部
19…出力部
2…ソフトウェアプラットフォーム
21…測定対象プログラム
22…メモリ確保プログラム
221…起動部
222…メモリ確保部
223…設定部
3…外部ツール
4…ユーザ
6,7,8…ソフトウェアプラットフォーム
61,71,81…測定対象プログラム
62,72,83…メモリ確保プログラム
621,721…起動部
622,722,821…メモリ確保部
623,723,822…設定部
73,83…OSGiフレームワーク
9…ハードウェア
91…ソフトウェアプラットフォーム
92A,92B…プログラムモジュール

Claims (6)

  1. ソフトウェアプラットフォーム上で動作する測定対象モジュールが使用するメモリ消費量を測定するコンピュータによって実行されるメモリ消費量測定方法であって、
    前記ソフトウェアプラットフォームを起動し、当該ソフトウェアプラットフォーム上で前記測定対象モジュールと指定された量のメモリを確保するメモリ確保モジュールを動作させるステップと、
    前記メモリ確保モジュールにより前記指定された量のメモリが確保された後の前記ソフトウェアプラットフォームの状態を判定するステップと、
    前記指定された量を変化させて前記メモリ確保モジュールにメモリを確保させ、前記ソフトウェアプラットフォームの状態が正常であった場合のうち最大の前記指定された量を最大メモリ確保量として取得するステップと、
    前記ソフトウェアプラットフォームのメモリ量から前記最大メモリ確保量を引いて前記測定対象モジュールのメモリ消費量を算出するステップと、
    を有することを特徴とするメモリ消費量測定方法。
  2. 前記取得するステップは、前記指定された量の初期値を0あるいは前記ソフトウェアプラットフォームの状態が正常となる値とし、測定したいメモリ消費量の粒度に応じて前記指定された量を大きくしていき、前記ソフトウェアプラットフォームの状態が異常となる直前の前記指定された量を最大メモリ確保量とすることを特徴とする請求項1記載のメモリ消費量測定方法。
  3. 前記取得するステップは、前記指定された量の初期値を前記ソフトウェアプラットフォームのメモリ量と同じあるいは前記ソフトウェアプラットフォームの状態が異常となる値とし、測定したいメモリ消費量の粒度に応じて前記指定された量を小さくしていき、前記ソフトウェアプラットフォームの状態が正常となったときの前記指定された量を最大メモリ確保量とすることを特徴とする請求項1記載のメモリ消費量測定方法。
  4. 前記動作させるステップは、待機時間を指定して前記メモリ確保モジュールを動作させるものであって、
    前記メモリ確保モジュールは、前記測定対象モジュールが動作してから前記待機時間経過した後で前記指定された量のメモリを確保することを特徴とする請求項1乃至3のいずれかに記載のメモリ消費量測定方法。
  5. 前記メモリ確保モジュールにメモリの確保を指示するステップを有し、
    前記メモリ確保モジュールは、前記指示を受けたときに前記指定された量のメモリを確保することを特徴とする請求項1乃至3のいずれかに記載のメモリ消費量測定方法。
  6. 請求項1乃至5のいずれかに記載のメモリ消費量測定方法をコンピュータに実行させることを特徴とするメモリ消費量測定プログラム。
JP2010127738A 2010-06-03 2010-06-03 メモリ消費量測定方法及びメモリ消費量測定プログラム Expired - Fee Related JP5478368B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010127738A JP5478368B2 (ja) 2010-06-03 2010-06-03 メモリ消費量測定方法及びメモリ消費量測定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010127738A JP5478368B2 (ja) 2010-06-03 2010-06-03 メモリ消費量測定方法及びメモリ消費量測定プログラム

Publications (2)

Publication Number Publication Date
JP2011253426A JP2011253426A (ja) 2011-12-15
JP5478368B2 true JP5478368B2 (ja) 2014-04-23

Family

ID=45417298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010127738A Expired - Fee Related JP5478368B2 (ja) 2010-06-03 2010-06-03 メモリ消費量測定方法及びメモリ消費量測定プログラム

Country Status (1)

Country Link
JP (1) JP5478368B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4373742B2 (ja) * 2002-09-13 2009-11-25 株式会社リコー 画像形成装置およびアプリ起動制限方法
JP4116877B2 (ja) * 2002-12-26 2008-07-09 富士通株式会社 ヒープサイズ自動最適化処理方法,ヒープサイズ自動最適化装置およびそのプログラム
JP2004326386A (ja) * 2003-04-24 2004-11-18 Mitsubishi Electric Corp 評価支援装置及び評価支援方法及び評価支援プログラム
JP2009037589A (ja) * 2007-07-10 2009-02-19 Ricoh Co Ltd プログラム判定装置、プログラム判定方法及びプログラム
JP4887256B2 (ja) * 2007-10-05 2012-02-29 株式会社日立製作所 実行コード生成装置、実行コード生成方法、及びソースコードの管理方法
JP4935626B2 (ja) * 2007-10-30 2012-05-23 富士通株式会社 制御プログラム及び方法並びにコンピュータ
JP5425497B2 (ja) * 2009-03-19 2014-02-26 株式会社日立システムズ ソフトウェア検証システムと方法およびプログラム

Also Published As

Publication number Publication date
JP2011253426A (ja) 2011-12-15

Similar Documents

Publication Publication Date Title
US20190050257A1 (en) System and method for structuring self-provisioning workloads deployed in virtualized data centers
US8544011B2 (en) Generation and concurrent execution of a virtual task in an execution order determining system
US9086922B2 (en) Opportunistically scheduling and adjusting time slices
CN104778074B (zh) 一种计算任务处理方法及装置
KR101699770B1 (ko) 가상화 시스템 및 그 가상화 시스템에서 자원 할당 방법
JP5568689B2 (ja) 性能スケーリングアルゴリズムのセットの構成を最適化するためのシステムおよび方法
TWI573075B (zh) 持續及有彈性之工作處理
KR101610830B1 (ko) 어플리케이션 실행 장치 및 방법
KR101155202B1 (ko) 멀티 코어 프로세서의 전력 관리 방법, 멀티 코어 프로세서의 전력 관리 방법이 기록된 기록매체 및 이를 실행하는 멀티 코어 프로세서 시스템
US10088986B2 (en) User function operation method and electronic device supporting the same
WO2020232871A1 (zh) 一种微服务依赖分析方法及装置
JP6263981B2 (ja) 情報処理装置、情報処理装置の起動方法、及び、プログラム
JP2008003915A (ja) 電子機器
CN109491788A (zh) 一种虚拟化平台负载均衡实现方法及装置
JP5577453B2 (ja) 仮想計算機のマイグレーション評価方法及び仮想計算機システム
JP5462529B2 (ja) タスク割当装置、および、タスク割当方法
WO2016188101A1 (zh) 一种针对业务系统的测试方法和装置
JP5478368B2 (ja) メモリ消費量測定方法及びメモリ消費量測定プログラム
TWI399632B (zh) Centralized processor overclocking method for computer motherboards
WO2014067368A1 (zh) 资源预览图的获取方法、装置以及设备
CA2848683C (en) Working set adjustment in a managed environment
Sharma et al. Kingfisher: A system for elastic cost-aware provisioning in the cloud
JP2021026660A (ja) サービス連携支援システムおよびその方法
JP2012089103A (ja) 計算資源制御装置及び計算資源制御プログラム
WO2016014707A1 (en) Asynchronous dispatcher for application framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5478368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees