JP2011085985A5 - - Google Patents
Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims 6
- 238000007726 management method Methods 0.000 claims 5
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.
ことを特徴とする請求項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.
前記第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 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.
前記第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.
前記特定したオブジェクトにおいて、前記仮想マシンから直接参照されず、並びにいずれのオブジェクトからも参照されないオブジェクトである起点オブジェクト、および前記起点オブジェクトが直接的または間接的に参照するオブジェクトであるメンバオブジェクトを設定する制御と、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.
前記第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.
ことを特徴とする請求項12に記載の情報処理装置。The information processing apparatus according to claim 12.
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)
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)
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 |
-
2009
- 2009-10-13 JP JP2009236257A patent/JP5199975B2/en not_active Expired - Fee Related
-
2010
- 2010-03-04 WO PCT/JP2010/053520 patent/WO2011045949A1/en active Application Filing
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 |