JP2008505389A - コンピュータ・オペレーティング・システムの仮想メモリのサブシステムを自動調整する方法、プログラム記憶デバイス、および装置 - Google Patents
コンピュータ・オペレーティング・システムの仮想メモリのサブシステムを自動調整する方法、プログラム記憶デバイス、および装置 Download PDFInfo
- Publication number
- JP2008505389A JP2008505389A JP2007519201A JP2007519201A JP2008505389A JP 2008505389 A JP2008505389 A JP 2008505389A JP 2007519201 A JP2007519201 A JP 2007519201A JP 2007519201 A JP2007519201 A JP 2007519201A JP 2008505389 A JP2008505389 A JP 2008505389A
- Authority
- JP
- Japan
- Prior art keywords
- free
- wait
- rate
- memory space
- memory
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 241000238876 Acari Species 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims abstract description 5
- 230000001186 cumulative effect Effects 0.000 claims 2
- 230000004044 response Effects 0.000 abstract description 3
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 206010003591 Ataxia Diseases 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 206010010947 Coordination abnormal Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 208000028756 lack of coordination Diseases 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】仮想メモリ・マネージャのページ置換アルゴリズムで使用する閾値を、コンピュータ・システムのメモリ負荷に応答して自動的に調整する。ある前記閾値は、メモリ負荷の関数として変更する空きメモリの下限閾値である。例えば、このような負荷を、所定の時間間隔の間に待ち行列に加えられたスレッドの数を、その間隔のクロック・ティックの数で割った値で表すことができるであろう。この値はスレッド待機率として知られる。さらにこの率を目標率と比較して、下限閾値の値を変更するべきかどうかを判断する。空きメモリ空間が下限閾値未満になったら、ページ置換デーモンを使ってメモリをページアウトして、利用できるメモリ空間を増やす。
【選択図】図2
Description
・min_free61およびmax_free62はあるディフォルト値に設定する。
・thrd_waitカウンタ35およびthrd_wait_rate37は0に初期設定する。
・thrd_wait_rate_tgt38は特定の値に初期設定する。
・strt_time39は現在時刻に初期設定する。
経過時間=(T2−T1)
20 仮想メモリ・マネージャ
21 フリー・リスト
22 フリー・フレーム
23 使用中のリスト
24 使用中のフレーム
25 ページ置換デーモン
30 プロセス・マネージャ
32 待機リスト
33 待機中のスレッド
40 ファイルシステム
50 ネットワーク・サブシステム
51 ハードディスク・ドライブ
702 通信インフラストラクチャ(バス)
704 プロセッサ
706 メイン・メモリ
708 ディスプレイ・インターフェース
710 ディスプレイ装置
712 二次メモリ
714 ハードディスク・ドライブ
716 取り外し可能ストレージ・ドライブ
718 取り外し可能記憶装置
720 インターフェース
724 通信インターフェース
726 通信路
Claims (14)
- コンピュータ・システムのメモリの可用性を管理する方法で、前記方法が、
空きメモリ空間の下限閾値をメモリ負荷の関数として自動的に変更するステップと、
空きメモリ空間が前記下限閾値未満になったときに、利用できるメモリ空間を増やすステップとを有する、方法。 - コンピュータ・システムのメモリの可用性を管理する方法で、前記方法が、
スレッド待機率が目標スレッド待機率と差が出てきたときに、空きメモリ空間の下限閾値を自動的に変更するステップで、前記スレッド待機率が単位時間あたりの空きメモリの待機リストに待機しているスレッドの平均数である、前記ステップと、
空きメモリ空間が前記下限閾値未満になったときに、利用できるメモリ空間を増やすステップとを有する、方法。 - 前記スレッド待機率が前記目標スレッド待機率よりも高くなったときに、前記下限閾値を上げる、請求項2に記載の方法。
- 前記スレッド待機率が前記目標スレッド待機率よりも低くなったときに、前記下限閾値を下げる、請求項2に記載の方法。
- 前記スレッド待機率が前記目標スレッド待機率よりも高くなったときに、上限閾値を上げ、前記上限閾値を使って、ページ置換デーモンを実行するとき、利用できるようにするメモリ空間の量を判断する、請求項2に記載の方法。
- 前記スレッド待機率が前記目標スレッド待機率よりも低くなったときに、上限閾値を下げ、前記上限閾値を使って、ページ置換デーモンを実行するとき、利用できるようにするメモリ空間の量を判断する、請求項2に記載の方法。
- 前記スレッド待機率を、空きメモリの待機リストで待機している全スレッドが費やすクロック・ティックの累積数をカウントして、前記累積数を前記ページ置換デーモンの連続2回の実行の間のクロック・ティックの総数で割って計算できる、請求項5に記載の方法。
- 前記スレッドが現在前記空きメモリの待機リストにある第1スレッドと、前記ページ置換デーモンの前記連続2回の実行の最初の実行の後に前記空きメモリの待機リストにあったが、もはや前記空きメモリの待機リストにない第2スレッドとを有する、請求項7に記載の方法。
- 前記スレッド待機率を、空きメモリの待機リストに現在あるスレッドの数をある数で割って計算できる、請求項2に記載の方法。
- 前記数が整数の2である、請求項9に記載の方法。
- 空きメモリ空間が前記下限閾値未満になったときにページ置換デーモンを実行し、前記ページ置換デーモンが利用できるメモリ空間を増やす、請求項2に記載の方法。
- 空きメモリ・フレームの数が下限閾値未満になったときに前記ページ置換デーモンを実行し、前記ページ置換デーモンが、フリー・フレームの数が上限閾値に達するようにフレームの数を解放するステップを有する、請求項11に記載の方法。
- コンピュータ・システムのメモリの可用性を管理するためのプログラムであって、該プログラムが、
空きメモリ空間の下限閾値をメモリ負荷の関数として自動的に変更するステップと、
空きメモリ空間が前記下限閾値未満になったときに、利用できるメモリ空間を増やすステップとをコンピュータに実行させるプログラム。 - コンピュータ・システムのメモリの可用性を管理する装置で、前記装置が、
空きメモリ空間の下限閾値をメモリ負荷の関数として自動的に変更する手段と、
空きメモリ空間が下限閾値未満になったときに、利用できるメモリ空間を増やす手段とを有する、装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/881,508 US20060004977A1 (en) | 2004-06-30 | 2004-06-30 | Autonomically tuning the virtual memory subsystem of a computer operating system |
PCT/US2005/015493 WO2006007043A2 (en) | 2004-06-30 | 2005-05-04 | Autonomically tuning the virtual memory subsystem of a computer operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008505389A true JP2008505389A (ja) | 2008-02-21 |
JP2008505389A5 JP2008505389A5 (ja) | 2008-05-22 |
Family
ID=35515385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007519201A Pending JP2008505389A (ja) | 2004-06-30 | 2005-05-04 | コンピュータ・オペレーティング・システムの仮想メモリのサブシステムを自動調整する方法、プログラム記憶デバイス、および装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20060004977A1 (ja) |
EP (1) | EP1782205A2 (ja) |
JP (1) | JP2008505389A (ja) |
KR (1) | KR20070024552A (ja) |
CN (1) | CN101124551A (ja) |
TW (1) | TW200602869A (ja) |
WO (1) | WO2006007043A2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055876B2 (en) * | 2008-06-06 | 2011-11-08 | International Business Machines Corporation | Selectively mark free frames as unused for cooperative memory over-commitment |
US8799892B2 (en) * | 2008-06-09 | 2014-08-05 | International Business Machines Corporation | Selective memory donation in virtual real memory environment |
US8312201B2 (en) * | 2008-06-09 | 2012-11-13 | International Business Machines Corporation | Managing memory allocations loans |
US8230155B2 (en) * | 2008-06-26 | 2012-07-24 | Microsoft Corporation | Direct memory access filter for virtualized operating systems |
FR2939223A3 (fr) * | 2008-12-02 | 2010-06-04 | Toluna | Procede pour optimiser le fonctionnement d'un systeme pour realiser au moins un sondage en ligne, systeme mettant en oeuvre le procede |
CN101430670B (zh) * | 2008-12-16 | 2010-06-23 | 中国科学院计算技术研究所 | 一种在虚拟化环境中i/o设备重构的方法及系统 |
KR101618634B1 (ko) | 2009-01-07 | 2016-05-09 | 삼성전자주식회사 | 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법 |
KR101612922B1 (ko) * | 2009-06-09 | 2016-04-15 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템 관리 방법 |
CN101833512A (zh) * | 2010-04-22 | 2010-09-15 | 中兴通讯股份有限公司 | 一种内存回收方法及其装置 |
US8713565B2 (en) | 2010-04-28 | 2014-04-29 | International Business Machines Corporation | Automated tuning in a virtual machine computing environment |
WO2012126180A1 (en) | 2011-03-24 | 2012-09-27 | Microsoft Corporation | Multi-layer search-engine index |
US8683169B2 (en) | 2011-05-05 | 2014-03-25 | International Business Machines Corporation | Selecting an auxiliary storage medium for writing data of real storage pages |
US8656133B2 (en) | 2011-05-05 | 2014-02-18 | International Business Machines Corporation | Managing storage extents and the obtaining of storage blocks within the extents |
US8793444B2 (en) * | 2011-05-05 | 2014-07-29 | International Business Machines Corporation | Managing large page memory pools |
US8799611B2 (en) * | 2011-05-05 | 2014-08-05 | International Business Machines Corporation | Managing allocation of memory pages |
US8868876B2 (en) | 2011-12-28 | 2014-10-21 | International Business Machines Corporation | Dedicated large page memory pools |
US9367439B2 (en) * | 2012-04-30 | 2016-06-14 | Oracle International Corporation | Physical memory usage prediction |
US9696933B2 (en) * | 2014-08-15 | 2017-07-04 | International Business Machines Corporation | Virtual machine manager initiated page-in of kernel pages |
US9996455B2 (en) * | 2015-12-09 | 2018-06-12 | International Business Machines Corporation | Virtual storage address threshold for freemained frames |
JP2017201481A (ja) * | 2016-05-06 | 2017-11-09 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
JP7007557B2 (ja) * | 2017-08-24 | 2022-01-24 | 富士通株式会社 | 情報処理装置、プロセス管理方法およびプロセス管理プログラム |
JP2020031307A (ja) * | 2018-08-21 | 2020-02-27 | 京セラドキュメントソリューションズ株式会社 | 電子機器及びメモリー管理プログラム |
CN112099955A (zh) * | 2020-09-27 | 2020-12-18 | 合肥移瑞通信技术有限公司 | 安卓系统运行内存的控制方法、装置及介质、计算机设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207696A (ja) * | 1997-01-15 | 1998-08-07 | Internatl Business Mach Corp <Ibm> | オペレーティング・システムをカスタマイズするシステムおよび方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427161B1 (en) * | 1998-06-12 | 2002-07-30 | International Business Machines Corporation | Thread scheduling techniques for multithreaded servers |
US7080379B2 (en) * | 2002-06-20 | 2006-07-18 | International Business Machines Corporation | Multiprocessor load balancing system for prioritizing threads and assigning threads into one of a plurality of run queues based on a priority band and a current load of the run queue |
US7120753B2 (en) * | 2004-04-20 | 2006-10-10 | International Business Machines Corporation | System and method for dynamically adjusting read ahead values based upon memory usage |
-
2004
- 2004-06-30 US US10/881,508 patent/US20060004977A1/en not_active Abandoned
-
2005
- 2005-05-04 CN CNA200580014596XA patent/CN101124551A/zh active Pending
- 2005-05-04 EP EP05749977A patent/EP1782205A2/en not_active Withdrawn
- 2005-05-04 JP JP2007519201A patent/JP2008505389A/ja active Pending
- 2005-05-04 KR KR1020067025218A patent/KR20070024552A/ko not_active Application Discontinuation
- 2005-05-04 WO PCT/US2005/015493 patent/WO2006007043A2/en active Application Filing
- 2005-06-03 TW TW094118421A patent/TW200602869A/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207696A (ja) * | 1997-01-15 | 1998-08-07 | Internatl Business Mach Corp <Ibm> | オペレーティング・システムをカスタマイズするシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060004977A1 (en) | 2006-01-05 |
EP1782205A2 (en) | 2007-05-09 |
KR20070024552A (ko) | 2007-03-02 |
CN101124551A (zh) | 2008-02-13 |
WO2006007043A2 (en) | 2006-01-19 |
TW200602869A (en) | 2006-01-16 |
WO2006007043A3 (en) | 2007-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008505389A (ja) | コンピュータ・オペレーティング・システムの仮想メモリのサブシステムを自動調整する方法、プログラム記憶デバイス、および装置 | |
US20240029488A1 (en) | Power management based on frame slicing | |
US10528481B2 (en) | Apparatus and method for managing storage of data blocks | |
US8019954B2 (en) | Kernel and application cooperative memory management | |
US9619378B2 (en) | Dynamically optimizing memory allocation across virtual machines | |
US8190795B2 (en) | Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
US8539186B2 (en) | Methods and mechanisms for proactive memory management | |
US9135059B2 (en) | Opportunistic multitasking | |
US8683476B2 (en) | Method and system for event-based management of hardware resources using a power state of the hardware resources | |
EP3796168A1 (en) | Information processing apparatus, information processing method, and virtual machine connection management program | |
JP2013232207A (ja) | コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置 | |
US6944736B2 (en) | Managing latencies in accessing memory of computer systems | |
CN108073457B (zh) | 一种超融合基础架构的分层资源管理方法、装置及系统 | |
KR20100074920A (ko) | 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법 | |
CN110795323A (zh) | 负载统计方法、装置、存储介质及电子设备 | |
WO2024148864A1 (zh) | 虚拟机内存的调整方法和装置、非易失性可读存储介质及电子装置 | |
WO2022050197A1 (ja) | コンピュータシステムおよびコンピュータプログラム | |
US20130346975A1 (en) | Memory management method, information processing device, and computer-readable recording medium having stored therein memory management program | |
CN108885587B (zh) | 具有系统高速缓存和本地资源管理的功率降低存储器子系统 | |
US7080212B1 (en) | Closed loop adaptive prestage method, system, and product for prestaging cache blocks | |
Molano et al. | Dynamic disk bandwidth management and metadata pre-fetching in a real-time file system | |
Liu et al. | OKAM: A Linux Application Manager Based on Hierarchical Freezing Technology | |
JP2001282553A (ja) | マルチスレッド制御方法、マルチスレッド制御装置、記録媒体、及びプログラム | |
CN116320031A (zh) | 服务器响应方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080401 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111129 |