JP2011085985A5 - - Google Patents

Download PDF

Info

Publication number
JP2011085985A5
JP2011085985A5 JP2009236257A JP2009236257A JP2011085985A5 JP 2011085985 A5 JP2011085985 A5 JP 2011085985A5 JP 2009236257 A JP2009236257 A JP 2009236257A JP 2009236257 A JP2009236257 A JP 2009236257A JP 2011085985 A5 JP2011085985 A5 JP 2011085985A5
Authority
JP
Japan
Prior art keywords
memory area
equal
count
processing apparatus
information processing
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.)
Granted
Application number
JP2009236257A
Other languages
Japanese (ja)
Other versions
JP5199975B2 (en
JP2011085985A (en
Filing date
Publication date
Application filed filed Critical
Priority to JP2009236257A priority Critical patent/JP5199975B2/en
Priority claimed from JP2009236257A external-priority patent/JP5199975B2/en
Priority to PCT/JP2010/053520 priority patent/WO2011045949A1/en
Publication of JP2011085985A publication Critical patent/JP2011085985A/en
Publication of JP2011085985A5 publication Critical patent/JP2011085985A5/ja
Application granted granted Critical
Publication of JP5199975B2 publication Critical patent/JP5199975B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (13)

プログラムを実行するために確保したメモリ領域において、不要になったメモリ領域自動的に解放する自動解放機能を有する仮想マシンが稼働する情報処理装置におけるメモリ管理方法であって、
前記情報処理装置の記憶部は、
前記メモリ領域として、前記自動解放機能の対象となる第1のメモリ領域と、
前記メモリ領域として、前記自動解放機能の対象外となる第2のメモリ領域と、を有し、
プログラムを実行するときに生成されるオブジェクトごとに、当該オブジェクトに係るオブジェクト生成命令と、前記オブジェクト生成命令により当該オブジェクトを前記第1のメモリ領域に生成した回数を示すオブジェクト生成回数と、前記自動解放機能により前記第1のメモリ領域を解放した回数を示すオブジェクトプロファイリング回数と、を含むオブジェクト解析情報を記憶しており、
前記情報処理装置の制御部は、
前記オブジェクト解析情報を参照して、前記オブジェクトのオブジェクト生成回数が、前記記憶部に記憶されている第1の閾値以上であるか否かを判定するステップと、
前記オブジェクト生成回数が前記第1の閾値以上であるとき、前記オブジェクト生成回数に対する前記オブジェクトプロファイリング回数の割合が、前記記憶部に記憶されている第2の閾値以上であるか否かを判定するステップと、
前記割合が前記第2の閾値以上であるとき、前記オブジェクト生成命令によるオブジェクトの生成先を前記第2のメモリ領域に変更するステップと、を実行する
ことを特徴とするメモリ管理方法。
In the reserved memory area to execute the program, a memory management method in an information processing apparatus which virtual machine is running with an automatic release function for releasing the memory area that is no longer needed automatically,
The storage unit of the information processing apparatus
As the memory area, a first memory area targeted for the automatic release function;
A second memory area that is not subject to the automatic release function, as the memory area;
For each object generated when the program is executed, an object generation instruction related to the object, an object generation count indicating the number of times the object is generated in the first memory area by the object generation instruction, and the automatic release Object analysis information including the object profiling count indicating the number of times the first memory area has been released by the function,
The control unit of the information processing apparatus
Referring to the object analysis information, determining whether the number of object generations of the object is equal to or greater than a first threshold stored in the storage unit;
Determining whether a ratio of the object profiling frequency to the object generation frequency is equal to or greater than a second threshold value stored in the storage unit when the object generation frequency is equal to or greater than the first threshold value; When,
When the ratio is equal to or greater than the second threshold, the step of changing the generation destination of the object by the object generation instruction to the second memory area is executed.
前記情報処理装置の制御部は、
前記第1のメモリ領域に生成されたオブジェクトのうち、前記仮想マシンが直接参照可能なオブジェクト、および前記直接参照可能なオブジェクトが直接的または間接的に参照するオブジェクトを除くオブジェクトを特定するステップと、
前記オブジェクト解析情報を参照して、前記特定したオブジェクトのオブジェクト生成回数が前記第1の閾値以上であり、当該オブジェクト生成回数に対する前記オブジェクトプロファイリング回数の割合が前記第2の閾値以上であるとき、前記オブジェクト生成命令によるオブジェクトの生成先を前記第2のメモリ領域に変更するステップと、を実行する
ことを特徴とする請求項1に記載のメモリ管理方法。
The control unit of the information processing apparatus
Identifying objects other than objects that can be directly referred to by the virtual machine and objects that are directly or indirectly referenced by the directly referenceable objects among the objects generated in the first memory area;
With reference to the object analysis information, when the object generation count of the identified object is equal to or greater than the first threshold, and a ratio of the object profiling count to the object generation count is equal to or greater than the second threshold, The memory management method according to claim 1, further comprising: changing a generation destination of an object by an object generation instruction to the second memory area.
前記情報処理装置の制御部は、
前記特定したオブジェクトにおいて、前記仮想マシンから直接参照されず、並びにいずれのオブジェクトからも参照されないオブジェクトである起点オブジェクト、および前記起点オブジェクトが直接的または間接的に参照するオブジェクトであるメンバオブジェクトを設定するステップと、
前記起点オブジェクトのオブジェクトプロファイリング回数に対する前記メンバオブジェクトのオブジェクトプロファイリング回数の割合が、前記記憶部に記憶されている第3の閾値以上であるか否かを判定するステップと、
前記割合が前記第3の閾値以上であるとき、前記メンバオブジェクトも前記第2のメモリ領域に移動するステップと、を実行する
ことを特徴とする請求項2に記載のメモリ管理方法。
The control unit of the information processing apparatus
In the specified object, a starting object that is an object that is not directly referenced from the virtual machine and that is not referred to by any object, and a member object that is an object that the starting object directly or indirectly references are set. Steps,
Determining whether the ratio of the object profiling count of the member object to the object profiling count of the starting object is equal to or greater than a third threshold stored in the storage unit;
The memory management method according to claim 2, wherein when the ratio is equal to or greater than the third threshold, the member object is also moved to the second memory area.
前記自動解放機能は、世代別ガベージコレクションによる自動解放機能であり、
前記第1のメモリ領域は、長命でないオブジェクトが格納されるNew領域と、長命なオブジェクトが格納されるOld領域とを含んで構成される
ことを特徴とする請求項1から請求項3のいずれか一項に記載のメモリ管理方法。
The automatic release function is an automatic release function by generational garbage collection,
The first memory area includes a New area in which an object that is not long-lived is stored, and an Old area in which an object that is long-lived is stored. The memory management method according to one item.
前記オブジェクトプロファイリング回数が示す前記第1のメモリ領域の解放は、前記New領域および前記Old領域の両方を含む領域を対象にする解放である
ことを特徴とする請求項4に記載のメモリ管理方法。
The memory management method according to claim 4, wherein the release of the first memory area indicated by the number of times of object profiling is a release for an area including both the New area and the Old area.
プログラムを実行するために確保したメモリ領域において、不要になったメモリ領域自動的に解放する自動解放機能を有する仮想マシンが稼働する情報処理装置として機能させるメモリ管理プログラムであって、
前記情報処理装置の記憶部は、
前記メモリ領域として、前記自動解放機能の対象となる第1のメモリ領域と、
前記メモリ領域として、前記自動解放機能の対象外となる第2のメモリ領域と、を有し、
プログラムを実行するときに生成されるオブジェクトごとに、当該オブジェクトに係るオブジェクト生成命令と、前記オブジェクト生成命令により当該オブジェクトを前記第1のメモリ領域に生成した回数を示すオブジェクト生成回数と、前記自動解放機能により前記第1のメモリ領域を解放した回数を示すオブジェクトプロファイリング回数と、を含むオブジェクト解析情報を記憶しており、
前記メモリ管理プログラムは、前記情報処理装置の制御部に、
前記オブジェクト解析情報を参照して、前記オブジェクトのオブジェクト生成回数が、前記記憶部に記憶されている第1の閾値以上であるか否かを判定する処理と、
前記オブジェクト生成回数が前記第1の閾値以上であるとき、前記オブジェクト生成回数に対する前記オブジェクトプロファイリング回数の割合が、前記記憶部に記憶されている第2の閾値以上であるか否かを判定する処理と、
前記割合が前記第2の閾値以上であるとき、前記オブジェクト生成命令によるオブジェクトの生成先を前記第2のメモリ領域に変更する処理と、を実行させる
ことを特徴とするメモリ管理プログラム。
A memory management program that functions as an information processing apparatus that operates a virtual machine having an automatic release function that automatically releases a memory area that is no longer necessary in a memory area reserved for executing a program,
The storage unit of the information processing apparatus
As the memory area, a first memory area targeted for the automatic release function;
A second memory area that is not subject to the automatic release function, as the memory area;
For each object generated when the program is executed, an object generation instruction related to the object, an object generation count indicating the number of times the object is generated in the first memory area by the object generation instruction, and the automatic release Object analysis information including the object profiling count indicating the number of times the first memory area has been released by the function,
The memory management program is stored in the control unit of the information processing apparatus.
With reference to the object analysis information, a process of determining whether or not the number of object generations of the object is equal to or greater than a first threshold stored in the storage unit;
A process of determining whether a ratio of the object profiling frequency to the object generation frequency is equal to or greater than a second threshold value stored in the storage unit when the object generation frequency is equal to or greater than the first threshold value. When,
When the ratio is equal to or greater than the second threshold value, a process of changing an object generation destination by the object generation instruction to the second memory area is executed.
前記情報処理装置の制御部に、In the control unit of the information processing apparatus,
前記第1のメモリ領域に生成されたオブジェクトのうち、前記仮想マシンが直接参照可能なオブジェクト、および前記直接参照可能なオブジェクトが直接的または間接的に参照するオブジェクトを除くオブジェクトを特定する処理と、Among the objects generated in the first memory area, a process of specifying an object excluding an object that can be directly referred to by the virtual machine and an object that is directly or indirectly referenced by the directly referable object;
前記オブジェクト解析情報を参照して、前記特定したオブジェクトのオブジェクト生成回数が前記第1の閾値以上であり、当該オブジェクト生成回数に対する前記オブジェクトプロファイリング回数の割合が前記第2の閾値以上であるとき、前記オブジェクト生成命令によるオブジェクトの生成先を前記第2のメモリ領域に変更する処理と、を実行させるWith reference to the object analysis information, when the object generation count of the identified object is equal to or greater than the first threshold, and the ratio of the object profiling count to the object generation count is equal to or greater than the second threshold, And a process of changing the generation destination of the object by the object generation instruction to the second memory area.
ことを特徴とする請求項6に記載のメモリ管理プログラム。The memory management program according to claim 6.
前記情報処理装置の制御部に、In the control unit of the information processing apparatus,
前記特定したオブジェクトにおいて、前記仮想マシンから直接参照されず、並びにいずれのオブジェクトからも参照されないオブジェクトである起点オブジェクト、および前記起点オブジェクトが直接的または間接的に参照するオブジェクトであるメンバオブジェクトを設定する処理と、In the specified object, a starting object that is an object that is not directly referenced from the virtual machine and that is not referenced by any object, and a member object that is an object that the starting object directly or indirectly references are set. Processing,
前記起点オブジェクトのオブジェクトプロファイリング回数に対する前記メンバオブジェクトのオブジェクトプロファイリング回数の割合が、前記記憶部に記憶されている第3の閾値以上であるか否かを判定する処理と、A process of determining whether a ratio of the object profiling count of the member object to the object profiling count of the starting object is equal to or greater than a third threshold stored in the storage unit;
前記割合が前記第3の閾値以上であるとき、前記メンバオブジェクトも前記第2のメモリ領域に移動する処理と、を実行させるWhen the ratio is greater than or equal to the third threshold, the member object is also moved to the second memory area.
ことを特徴とする請求項7に記載のメモリ管理プログラム。The memory management program according to claim 7, wherein:
プログラムを実行するために確保したメモリ領域において、不要になったメモリ領域自動的に解放する自動解放機能を有する仮想マシンが稼働する情報処理装置であって、
前記メモリ領域として、前記自動解放機能の対象となる第1のメモリ領域と、
前記メモリ領域として、前記自動解放機能の対象外となる第2のメモリ領域と、を有し、
プログラムを実行するときに生成されるオブジェクトごとに、当該オブジェクトに係るオブジェクト生成命令と、前記オブジェクト生成命令により当該オブジェクトを前記第1のメモリ領域に生成した回数を示すオブジェクト生成回数と、前記自動解放機能により前記第1のメモリ領域を解放した回数を示すオブジェクトプロファイリング回数と、を含むオブジェクト解析情報を記憶している記憶部と、
前記オブジェクト解析情報を参照して、前記オブジェクトのオブジェクト生成回数が、前記記憶部に記憶されている第1の閾値以上であるか否かを判定する制御と、
前記オブジェクト生成回数が前記第1の閾値以上であるとき、前記オブジェクト生成回数に対する前記オブジェクトプロファイリング回数の割合が、前記記憶部に記憶されている第2の閾値以上であるか否かを判定する制御と、
前記割合が前記第2の閾値以上であるとき、前記オブジェクト生成命令によるオブジェクトの生成先を前記第2のメモリ領域に変更する制御と、を実行する制御部とを有する
ことを特徴とする情報処理装置。
An information processing apparatus in which a virtual machine having an automatic release function that automatically releases a memory area that is no longer necessary in a memory area reserved for executing a program operates,
As the memory area, a first memory area targeted for the automatic release function;
A second memory area that is not subject to the automatic release function, as the memory area;
For each object generated when the program is executed, an object generation instruction related to the object, an object generation count indicating the number of times the object is generated in the first memory area by the object generation instruction, and the automatic release A storage unit storing object analysis information including an object profiling count indicating the number of times the first memory area is released by a function;
Control for referring to the object analysis information to determine whether the number of times the object has been generated is equal to or greater than a first threshold stored in the storage unit;
Control for determining whether a ratio of the object profiling frequency to the object generation frequency is equal to or greater than a second threshold value stored in the storage unit when the object generation frequency is equal to or greater than the first threshold value. When,
A control unit that executes control to change a generation destination of the object by the object generation instruction to the second memory area when the ratio is equal to or greater than the second threshold. apparatus.
前記情報処理装置の制御部は、The control unit of the information processing apparatus
前記第1のメモリ領域に生成されたオブジェクトのうち、前記仮想マシンが直接参照可能なオブジェクト、および前記直接参照可能なオブジェクトが直接的または間接的に参照するオブジェクトを除くオブジェクトを特定する制御と、Control for specifying an object excluding an object that can be directly referred to by the virtual machine and an object that is directly or indirectly referenced by the directly referenceable object among the objects generated in the first memory area;
前記オブジェクト解析情報を参照して、前記特定したオブジェクトのオブジェクト生成回数が前記第1の閾値以上であり、当該オブジェクト生成回数に対する前記オブジェクトプロファイリング回数の割合が前記第2の閾値以上であるとき、前記オブジェクト生成命令によるオブジェクトの生成先を前記第2のメモリ領域に変更する制御と、を実行するWith reference to the object analysis information, when the object generation count of the identified object is equal to or greater than the first threshold, and the ratio of the object profiling count to the object generation count is equal to or greater than the second threshold, And a control for changing an object generation destination by the object generation instruction to the second memory area.
ことを特徴とする請求項9に記載の情報処理装置。The information processing apparatus according to claim 9.
前記情報処理装置の制御部は、The control unit of the information processing apparatus
前記特定したオブジェクトにおいて、前記仮想マシンから直接参照されず、並びにいずれのオブジェクトからも参照されないオブジェクトである起点オブジェクト、および前記起点オブジェクトが直接的または間接的に参照するオブジェクトであるメンバオブジェクトを設定する制御と、In the specified object, a starting object that is an object that is not directly referenced from the virtual machine and that is not referenced by any object, and a member object that is an object that the starting object directly or indirectly references are set. Control,
前記起点オブジェクトのオブジェクトプロファイリング回数に対する前記メンバオブジェクトのオブジェクトプロファイリング回数の割合が、前記記憶部に記憶されている第3の閾値以上であるか否かを判定する制御と、Control for determining whether the ratio of the object profiling count of the member object to the object profiling count of the starting object is equal to or greater than a third threshold stored in the storage unit;
前記割合が前記第3の閾値以上であるとき、前記メンバオブジェクトも前記第2のメモリ領域に移動する制御と、を実行するWhen the ratio is equal to or greater than the third threshold, the member object is also moved to the second memory area.
ことを特徴とする請求項10に記載の情報処理装置。The information processing apparatus according to claim 10.
前記自動解放機能は、世代別ガベージコレクションによる自動解放機能であり、The automatic release function is an automatic release function by generational garbage collection,
前記第1のメモリ領域は、長命でないオブジェクトが格納されるNew領域と、長命なオブジェクトが格納されるOld領域とを含んで構成されるThe first memory area includes a New area for storing non-long-lived objects and an Old area for storing long-lived objects.
ことを特徴とする請求項9から請求項11のいずれか一項に記載の情報処理装置。The information processing apparatus according to claim 9, wherein the information processing apparatus is an information processing apparatus.
前記オブジェクトプロファイリング回数が示す前記第1のメモリ領域の解放は、前記New領域および前記Old領域の両方を含む領域を対象にする解放であるThe release of the first memory area indicated by the object profiling count is a release for an area including both the New area and the Old area.
ことを特徴とする請求項12に記載の情報処理装置。The information processing apparatus according to claim 12.
JP2009236257A 2009-10-13 2009-10-13 Memory management method, memory management program, and information processing apparatus Expired - Fee Related JP5199975B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009236257A JP5199975B2 (en) 2009-10-13 2009-10-13 Memory management method, memory management program, and information processing apparatus
PCT/JP2010/053520 WO2011045949A1 (en) 2009-10-13 2010-03-04 Memory management method, memory management program, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009236257A JP5199975B2 (en) 2009-10-13 2009-10-13 Memory management method, memory management program, and information processing apparatus

Publications (3)

Publication Number Publication Date
JP2011085985A JP2011085985A (en) 2011-04-28
JP2011085985A5 true JP2011085985A5 (en) 2011-06-16
JP5199975B2 JP5199975B2 (en) 2013-05-15

Family

ID=43876004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009236257A Expired - Fee Related JP5199975B2 (en) 2009-10-13 2009-10-13 Memory management method, memory management program, and information processing apparatus

Country Status (2)

Country Link
JP (1) JP5199975B2 (en)
WO (1) WO2011045949A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171002A1 (en) * 2013-04-19 2014-10-23 株式会社日立製作所 Memory management method, computer, and recording medium
CN110543357B (en) * 2018-05-28 2023-01-13 华为云计算技术有限公司 Method, related device and system for managing application program object

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681234B2 (en) * 2000-12-12 2004-01-20 Sun Microsystems, Inc. Method and apparatus for storing long-lived objects in a virtual machine
JP2003241967A (en) * 2002-02-15 2003-08-29 Matsushita Electric Ind Co Ltd Program execution device, its method and program executed therein
US7676511B2 (en) * 2006-01-27 2010-03-09 Sun Microsystems, Inc. Method and apparatus for reducing object pre-tenuring overhead in a generational garbage collector
JP4555879B2 (en) * 2008-08-11 2010-10-06 株式会社日立製作所 MEMORY MANAGEMENT METHOD, MEMORY MANAGEMENT PROGRAM, AND MEMORY MANAGEMENT DEVICE

Similar Documents

Publication Publication Date Title
JP2014529142A5 (en)
WO2008082684A3 (en) System and method for optimistic creation of thread local objects in a virtual machine environment
WO2012073460A1 (en) Computer, method for controlling computer, and recording medium
WO2007011422A3 (en) System and method for deterministic garbage collection in a virtual machine environment
RU2015153190A (en) COMBINATION OF GEOZONE EVENTS
JP2013542530A5 (en)
RU2013119123A (en) APPLICATION LIFE CYCLE MANAGEMENT
RU2014118860A (en) MANAGEMENT OF LOW PRIVILEGES OF OPERATION OF THE MEANS OF COLLECTING INFORMATION ON THE PROCESS OF CALCULATIONS
US10572181B2 (en) Multiple stage garbage collector
JP2007215005A5 (en)
JP2008065793A5 (en)
JP2003323336A (en) Heap memory control method and computer system using this method
JP2009187400A5 (en)
ATE520080T1 (en) STORAGE MANAGEMENT
CN108475236A (en) Measure address conversion delay
CN104932963B (en) The method and device of management terminal
JP2012519923A5 (en)
JP5896952B2 (en) Method, apparatus and computer program for managing memory
CN103885815A (en) Virtual machine dynamic caching method based on hot page migration
JP2014513354A5 (en)
JP2011085985A5 (en)
US8966212B2 (en) Memory management method, computer system and computer readable medium
CN104035879A (en) Memory allocation and garbage collection method based on life-period prediction
JP2010225033A5 (en)
TWI417721B (en) Method of decaying hot data