JP5380695B2 - メモリ管理方法、計算機システム及びメモリ管理プログラム - Google Patents
メモリ管理方法、計算機システム及びメモリ管理プログラム Download PDFInfo
- Publication number
- JP5380695B2 JP5380695B2 JP2010037069A JP2010037069A JP5380695B2 JP 5380695 B2 JP5380695 B2 JP 5380695B2 JP 2010037069 A JP2010037069 A JP 2010037069A JP 2010037069 A JP2010037069 A JP 2010037069A JP 5380695 B2 JP5380695 B2 JP 5380695B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- predetermined
- predetermined data
- heap
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
- G06F16/125—File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
図5は、本発明の実施形態の計算機システム101の構成例を示す図である。計算機システム101は、プロセッサ(CPU)102、メモリ103を備える。
図6は、本発明の実施形態のメモリ管理方法の概要を示すフローチャートである。JavaVM105が、図6に示す制御ロジックを実行する。
図7Aは、本発明の実施形態の外部ファイルによって調査契機を指定する第1の例を示す図である。図7Bは、本発明の実施形態の外部ファイルによって調査契機を指定する第2の例を示す図である。
図9は、本発明の実施形態のデータ移動可否判定部107及びデータ移動部108の制御ロジックを示すフローチャートである。図9のステップ601及び602は、図6のステップ2402に対応する。ステップ603は、図6のステップ2403に対応する。
次に、循環構造の場合の制御ロジックの変形例を説明する。前述の制御ロジックでは、データの参照の深さ(GCルート集合から参照を辿った数)に基づいて、外部ヒープへの移動の可否を判定した(図13のステップ1002参照)。ここでは、データの参照の深さの代わりに、データの距離(基点データから参照を辿った数)に基づいて、外部ヒープへの移動の可否を判定する。
以上、調査対象の参照関係が循環構造である場合を説明してきた。ここでは、調査対象の参照関係がリスト構造である場合について説明する。
102 CPU
103 メモリ
104 Javaプログラム
105 JavaVM(Java仮想マシン)
106 データ参照関係把握部
107 データ移動可否判定部
108 データ移動部
109 Javaヒープ
110 外部ヒープ
111 外部記憶装置
Claims (8)
- プログラムを実行するプロセッサと、メモリと、を備えた計算機システムにおけるメモリ管理方法であって、
前記メモリは、ガベージコレクタによって管理される第1の領域と、前記ガベージコレクタによって管理されない第2の領域と、を備えており、
前記方法は、
前記プロセッサが、前記第2の領域に関連付けされた所定のデータを基点として参照を辿ることによって、前記所定のデータの参照関係を調査する手順と、
前記所定のデータの参照関係が、前記所定のデータと同一の所属クラスのデータへの参照を含む構造である場合、前記プロセッサが、この構造を構成するデータのうちの特定のデータの前記第2の領域への移動を禁止するように判定する手順と、
前記プロセッサが、前記構造を構成するデータから前記特定のデータを除いたデータのうちの、前記第1の領域に格納されたデータを、前記第2の領域に移動させる手順と、
を含むことを特徴とするメモリ管理方法。 - 前記判定する手順では、前記所定のデータの参照関係が、前記所定のデータから参照を辿ると、再び前記所定のデータを参照する循環構造である場合、前記プロセッサは、この循環構造を構成するデータのうちの特定のデータの前記第2の領域への移動を禁止するように判定することを特徴とする請求項1に記載のメモリ管理方法。
- 前記特定のデータは、前記所定のデータと参照関係にあるデータのうち、ルート集合データを基点として参照を辿った数である参照の深さが、前記所定のデータの参照の深さよりも小さいデータであることを特徴とする請求項2に記載のメモリ管理方法。
- 前記特定のデータは、前記所定のデータと参照関係にあるデータのうち、前記所定のデータを基点として参照を辿った数である距離が、所定数よりも大きいデータであることを特徴とする請求項2に記載のメモリ管理方法。
- 前記判定する手順では、前記所定のデータの参照関係が、前記所定のデータが前記所定のデータと同一の所属クラスのデータを参照するリスト構造である場合、前記プロセッサは、このリスト構造を構成するデータのうちの、前記所定のデータと同一の所属クラスのデータ、及び、前記所定のデータと同一の所属クラスのデータから直接又は間接的に参照されるデータの、前記第2の領域への移動を禁止するように判定することを特徴とする請求項1に記載のメモリ管理方法。
- 前記調査する手順では、前記プロセッサは、プログラムAPI、起動時オプション、又は、外部ファイルによって指示された契機で、前記所定のデータの参照関係の調査を開始することを特徴とする請求項1に記載のメモリ管理方法。
- プログラムを実行するプロセッサと、メモリと、を備えた計算機システムであって、
前記メモリは、ガベージコレクタによって管理される第1の領域と、ガベージコレクタによって管理されない第2の領域と、を備え、
前記プロセッサは、
前記第2の領域に関連付けされた所定のデータを基点として参照を辿ることによって、前記所定のデータの参照関係を調査し、
前記所定のデータの参照関係が、前記所定のデータと同一の所属クラスのデータへの参照を含む構造である場合、この構造を構成するデータの特定のデータの、前記第2の領域への移動を禁止するように判定し、
前記構造を構成するデータから前記特定のデータを除いたデータのうちの、前記第1の領域に格納されたデータを、前記第2の領域に移動させることを特徴とする計算機システム。 - プログラムを実行するプロセッサと、メモリと、を備えた計算機システムに用いられるメモリ管理プログラムであって、
ガベージコレクタによって管理されない第2の領域に関連付けされた所定のデータを基点として参照を辿ることによって、前記所定のデータの参照関係を調査する手順と、
前記所定のデータの参照関係が、前記所定のデータと同一の所属クラスのデータへの参照を含む構造である場合、この構造を構成するデータのうちの特定のデータの前記第2の領域への移動を禁止するように判定する手順と、
前記構造を構成するデータから前記特定のデータを除いたデータのうちの、前記ガベージコレクタによって管理される第1の領域に格納されたデータを、前記第2の領域に移動させる手順と、
を前記プロセッサに実行させることを特徴とするメモリ管理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010037069A JP5380695B2 (ja) | 2010-02-23 | 2010-02-23 | メモリ管理方法、計算機システム及びメモリ管理プログラム |
US13/386,348 US8990532B2 (en) | 2010-02-23 | 2010-03-08 | Method of managing memory in computer system, computer system and memory managing program |
PCT/JP2010/054273 WO2011104897A1 (ja) | 2010-02-23 | 2010-03-08 | メモリ管理方法、計算機システム及びメモリ管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010037069A JP5380695B2 (ja) | 2010-02-23 | 2010-02-23 | メモリ管理方法、計算機システム及びメモリ管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011175333A JP2011175333A (ja) | 2011-09-08 |
JP5380695B2 true JP5380695B2 (ja) | 2014-01-08 |
Family
ID=44506339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010037069A Active JP5380695B2 (ja) | 2010-02-23 | 2010-02-23 | メモリ管理方法、計算機システム及びメモリ管理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8990532B2 (ja) |
JP (1) | JP5380695B2 (ja) |
WO (1) | WO2011104897A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5391422B2 (ja) | 2009-09-01 | 2014-01-15 | 株式会社日立製作所 | メモリ管理方法、計算機システム及びプログラム |
US9753846B2 (en) * | 2012-09-06 | 2017-09-05 | Red Hat, Inc. | Adjusting the operating memory used by a virtual machine during runtime |
JP5889270B2 (ja) | 2013-12-13 | 2016-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | スタック・スキャンのコストを削減するための方法、プログラム及びシステム |
US9858059B2 (en) * | 2015-09-14 | 2018-01-02 | International Business Machines Corporation | System module deployment optimization |
KR102105478B1 (ko) * | 2015-12-16 | 2020-04-28 | 아브 이니티오 테크놀로지 엘엘시 | 고 쓰루풋, 고 신뢰성의 데이터 처리 시스템 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1308845A1 (en) * | 2001-10-23 | 2003-05-07 | Sun Microsystems, Inc. | Method and apparatus for scoped memory |
JP3939975B2 (ja) * | 2001-12-14 | 2007-07-04 | 松下電器産業株式会社 | ガベージコレクション装置、ガベージコレクション方法及びガベージコレクションプログラム |
US7788300B2 (en) * | 2004-09-15 | 2010-08-31 | Sap Ag | Garbage collection for shared data entities |
JP5064134B2 (ja) | 2007-08-03 | 2012-10-31 | 株式会社日立製作所 | メモリ管理方法およびその方法を用いるコンピュータ |
US7793049B2 (en) * | 2007-10-30 | 2010-09-07 | International Business Machines Corporation | Mechanism for data cache replacement based on region policies |
JP5153539B2 (ja) * | 2008-09-22 | 2013-02-27 | 株式会社日立製作所 | メモリ管理方法およびその方法を用いるコンピュータ |
US8301671B1 (en) * | 2009-01-08 | 2012-10-30 | Avaya Inc. | Method and apparatus providing removal of replicated objects based on garbage collection |
JP5347657B2 (ja) * | 2009-03-31 | 2013-11-20 | 富士通株式会社 | データ記憶プログラム、方法、及び情報処理装置 |
US8224874B2 (en) * | 2010-01-05 | 2012-07-17 | Symantec Corporation | Systems and methods for removing unreferenced data segments from deduplicated data systems |
US20120066270A1 (en) * | 2010-09-13 | 2012-03-15 | Alelo, Inc. | Automated memory management of indexed data using weak references |
-
2010
- 2010-02-23 JP JP2010037069A patent/JP5380695B2/ja active Active
- 2010-03-08 US US13/386,348 patent/US8990532B2/en not_active Expired - Fee Related
- 2010-03-08 WO PCT/JP2010/054273 patent/WO2011104897A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20120221821A1 (en) | 2012-08-30 |
WO2011104897A1 (ja) | 2011-09-01 |
JP2011175333A (ja) | 2011-09-08 |
US8990532B2 (en) | 2015-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5064134B2 (ja) | メモリ管理方法およびその方法を用いるコンピュータ | |
JP5153539B2 (ja) | メモリ管理方法およびその方法を用いるコンピュータ | |
US7024436B2 (en) | Computer system with two heaps in contiguous storage | |
US8554807B2 (en) | Incremental class unloading in a region-based garbage collector | |
US7263700B1 (en) | Serially, reusable virtual machine | |
JP5380695B2 (ja) | メモリ管理方法、計算機システム及びメモリ管理プログラム | |
US7107426B2 (en) | Computer system with heap reset for performing generational garbage collection implemented by card-marking between successive applications | |
EP3577567B1 (en) | Multiple stage garbage collector | |
US7627621B2 (en) | Method and system for minor garbage collection | |
JP2009199214A (ja) | Osイメージ縮小方法、osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体 | |
US10628306B2 (en) | Garbage collector | |
US8966212B2 (en) | Memory management method, computer system and computer readable medium | |
JP5281452B2 (ja) | メモリ管理方法、コンピュータ、及び、メモリ管理プログラム | |
CN112313631B (zh) | 闭环垃圾收集器 | |
US11294806B2 (en) | Feedback-based selection of regions for abortable garbage collection | |
JP5564540B2 (ja) | メモリ管理方法、コンピュータ及びプログラム | |
JP5756549B2 (ja) | 記憶領域管理方法、計算機システム及びプログラム | |
Tasneem et al. | Android memory optimization | |
Nguyen et al. | Parmarksplit: A parallel mark-split garbage collector based on a lock-free skip-list | |
Sarcar | Memory Management | |
US10754766B2 (en) | Indirect resource management | |
Charan et al. | Development of Real-Time Capability in Application Virtual Machine using Concurrent Automatic Memory Management Algorithm | |
Wienholt | Garbage Collection and Object Lifetime Management | |
Yang et al. | Improved Adaptive Generational Garbage Collection Algorithm for Java Card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130703 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130909 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5380695 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |