TWI652622B - 電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品 - Google Patents

電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品 Download PDF

Info

Publication number
TWI652622B
TWI652622B TW106124335A TW106124335A TWI652622B TW I652622 B TWI652622 B TW I652622B TW 106124335 A TW106124335 A TW 106124335A TW 106124335 A TW106124335 A TW 106124335A TW I652622 B TWI652622 B TW I652622B
Authority
TW
Taiwan
Prior art keywords
memory
system program
program
white list
computing device
Prior art date
Application number
TW106124335A
Other languages
English (en)
Other versions
TW201905687A (zh
Inventor
何文元
張一帆
洪曉婷
Original Assignee
宏達國際電子股份有限公司
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 宏達國際電子股份有限公司 filed Critical 宏達國際電子股份有限公司
Publication of TW201905687A publication Critical patent/TW201905687A/zh
Application granted granted Critical
Publication of TWI652622B publication Critical patent/TWI652622B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

一種電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品。電子計算裝置之儲存器儲存一白名單。該白名單記錄複數組資料,且各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值。電子計算裝置之處理器執行一系統程式。該系統程式於一初始化階段將該白名單載入一記憶體。該系統程式偵測到一特定應用程式被觸發,且根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值。該系統程式複製一程序予該特定應用程式,且依據該偏移值更新用於觸發一記憶體回收函式之一門檻值。

Description

電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產 品
本發明係關於一種電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品;更具體而言,本發明係關於一種因應應用程式之觸發而調整一記憶體回收函式之觸發機制之電子計算裝置、方法及其電腦程式產品。
許多作業系統採用虛擬機來控管運行中之應用程式之資源配置。舉例而言,在安卓(Android)作業系統中,目前已開發出爪哇(Java)虛擬機(virtual machine)、安卓系統運行環境(Android RunTime;以下簡稱「ART」)虛擬機及Dalvik虛擬機等。
這類作業系統所使用之虛擬機皆有一個與堆積(heap)相關之參數(例如:ART虛擬機及Dalvik虛擬機所使用之參數「dalvik.vm.heapstartsize」),此參數規定一應用程式在啟動時被分配到之堆積之大小。一旦此參數之值被修改,所有由虛擬機控管之應用程式皆會受到影響。若將此參數設為一個較小之數值,則容易觸發記憶體回收(garbage collection)函式。然而,若將此參數設為一個較大之數值,雖然不容易觸 發記憶體回收函式,但卻容易造成系統整體之隨機存取記憶體(Random Access Memory;RAM)之消耗過快。
有鑑於此,本領域仍亟需一種能提高應用程式之效能,但又能避免系統整體之隨機存取記憶體消耗過快之技術。
本發明之一目的在於提供一種電子計算裝置。該電子計算裝置包含一儲存器、一記憶體及一處理器,其中該處理器電性連接至該儲存器及該記憶體。該儲存器儲存一白名單,其中該白名單記錄複數組資料,且各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值。該處理器執行一系統程式,且該系統程式於一初始化階段將該白名單載入該記憶體。該系統程式偵測到一特定應用程式被觸發,且根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值。此外,該系統程式複製(fork)一程序(process)予該特定應用程式,且依據該偏移值更新用於觸發一記憶體回收(garbage collection)函式之一門檻值。
本發明之另一目的在於提供一種調整一記憶體回收函式之觸發機制之方法,其係適用於一電子計算裝置。該電子計算裝置包含一儲存器、一記憶體及一處理器。該儲存器儲存一白名單,其中該白名單記錄複數組資料,且各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值。該方法包含下列步驟:(a)由該處理器執行一系統程式,(b)由該系統程式於一初始化階段將該白名單載入該記憶體,(c)由該系統程式偵測到一特定應用程式被觸發,(d)由該系統程式根據該特定應用程式之一名稱自 該記憶體之該白名單擷取該特定應用程式所對應之該偏移值,(e)由該系統程式複製一程序予該特定應用程式,以及(f)由該系統程式依據該偏移值更新用於觸發該記憶體回收函式之一門檻值。
本發明之又一目的在於提供一種電腦程式產品。經由一電子計算裝置載入該電腦程式產品後,該電子計算裝置執行該電腦程式產品所包含之複數個程式指令,以執行一種調整一記憶體回收函式之觸發機制之方法。該電子計算裝置包含一儲存器、一記憶體及一處理器。該儲存器儲存一白名單,其中該白名單記錄複數組資料,且各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值。該方法包含下列步驟:(a)由該處理器執行一系統程式,(b)由該系統程式於一初始化階段將該白名單載入該記憶體,(c)由該系統程式偵測到一特定應用程式被觸發,(d)由該系統程式根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值,(e)由該系統程式複製一程序予該特定應用程式,以及(f)由該系統程式依據該偏移值更新用於觸發該記憶體回收函式之一門檻值。
依據本發明所提供之技術,電子計算裝置上所執行之系統程式使用一白名單,且該白名單記載各個應用程式之偏移值(亦即,用以更新觸發記憶體回收函式之門檻值之量)。每當有一應用程式被觸發時,若系統程式判斷白名單上有該應用程式之偏移值,系統程式便會據以更新觸發記憶體回收函式之門檻值。由於系統程式動態地更新觸發記憶體回收函式之門檻值,因此能降低觸發記憶體回收函式之機率,延後觸發記憶體回收函式之時機,且提升應用程式之執行效能。
以下結合圖式闡述本發明之詳細技術及實施方式,俾使本發明所屬技術領域中具有通常知識者能理解所請求保護之發明之技術特徵。
1‧‧‧電子計算裝置
10‧‧‧白名單
11‧‧‧儲存器
12‧‧‧系統程式
13‧‧‧記憶體
14‧‧‧程序
15‧‧‧處理器
S201~S213‧‧‧步驟
第1圖係描繪本發明之第一實施方式之電子計算裝置1之示意圖;以及第2圖係描繪本發明之第二實施方式之流程圖。
以下將透過實施方式來解釋本發明所提供之電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品。然而,該等實施方式並非用以限制本發明需在如該等實施方式所述之任何環境、應用或方式方能實施。因此,關於實施方式之說明僅為闡釋本發明之目的,而非用以限制本發明之範圍。應理解,在以下實施方式及圖式中,與本發明非直接相關之元件已省略而未繪示,且各元件之尺寸以及元件間之尺寸比例僅為例示而已,而非用以限制本發明之範圍。
本發明之第一實施方式為一電子計算裝置1,其架構示意圖係描繪於第1圖。電子計算裝置1包含一儲存器11、一記憶體13及一處理器15,且處理器15電性連接至儲存器11及記憶體13。電子計算裝置1可為一桌上型電腦、一筆記型電腦、一手持式電子裝置、一智慧型手機、一平板電腦或其他類似之裝置。儲存器11可為一隨身碟、一通用串列匯流排(Universal Serial Bus;USB)碟、一硬碟、一光碟(Compact Disk;CD)或本發明所屬技術領域中具有通常知識者所知之其他具有相同功能之儲存媒體或電路。記憶體13可為一隨機存取記憶體(Random Access Memory;RAM)。處 理器15可為中央處理單元(Central Processing Unit;CPU)、微處理器或本發明所屬技術領域中具有通常知識者所知之其他計算裝置。
於本實施方式中,儲存器11儲存一白名單10。白名單10記錄複數組資料(未繪示),其中各組資料包含一應用程式之一名稱(未繪示)及該應用程式對應之一偏移值(未繪示)。電子計算裝置1開機後,處理器15執行一系統程式12。系統程式12可視為一虛擬機(virtual machine),用以控管在電子計算裝置1運行之應用程式之資源配置。舉例而言,系統程式12可為一爪哇(Java)虛擬機、一安卓系統運行環境(Android RunTime;以下簡稱「ART」)虛擬機或一Dalvik虛擬機。於本實施方式中,在系統程式12之初始化階段,系統程式12將白名單10從儲存器10載入記憶體13。於本實施方式中,系統程式12使用一門檻值(未繪示),此門檻值用以觸發一記憶體回收(garbage collection)函式。具體而言,當電子計算裝置1之一堆積(heap)使用量大於該門檻值,系統程式12會觸發記憶體回收函式。
茲假設系統程式12於某個時間點偵測到某一應用程式(未繪示)被觸發(例如:偵測到代表該應用程式之圖像被點擊)。為便於後續說明,此被觸發之應用程式被稱之為「特定應用程式」。因應該特定應用程式被觸發,系統程式12根據該特定應用程式之一名稱,判斷記憶體13之白名單10中是否有該特定應用程式之資料。具體而言,系統程式12判斷該特定應用程式之該名稱是否與白名單10所記錄之該等應用程式之該等名稱中之任一者相符。
若有相符者(代表記憶體13之白名單10具有該特定應用程式之資料),系統程式12自記憶體13之白名單10擷取該特定應用程式所對應之 該偏移值。接著,系統程式12複製(fork)一程序(process)14予該特定應用程式,且依據該特定應用程式所對應之該偏移值更新用於觸發該記憶體回收函式之該門檻值。舉例而言,系統程式12可藉由將該偏移值加上該門檻值而更新該門檻值。倘若系統程式12判斷記憶體13之白名單10不具有該特定應用程式之資料,則系統程式12直接複製程序14予該特定應用程式,但不更新用於觸發該記憶體回收函式之該門檻值。
需說明者,於本實施方式中,每當系統程式12需要配置堆積予該特定應用程式或其他的應用程式時,系統程式12計算一預估堆積使用量(亦即,要再配置之一堆積量加上已使用之堆積量),且判斷該預估堆積使用量是否大於該門檻值。若該預估堆積使用量大於該門檻值,則系統程式12執行該記憶體回收函式。
由上述說明可知,電子計算裝置1上所執行之系統程式12使用一白名單10,此白名單10記載各應用程式之偏移值(亦即,用以更新觸發記憶體回收函式之門檻值之量)。每當有一應用程式被觸發,若系統程式12判斷白名單10上有該應用程式之偏移值,系統程式12便會據以更新觸發記憶體回收函式之門檻值。由於系統程式12動態地更新觸發記憶體回收函式之門檻值,因此能降低觸發記憶體回收函式之機率,延後觸發記憶體回收函式之時機,且提升應用程式之執行效能。
本發明之第二實施方式為一種調整一記憶體回收函式之觸發機制之方法,其流程圖係描繪於第2圖。該方法適用於一電子計算裝置(例如:第一實施方式所述之電子計算裝置1),其中該電子計算裝置包含一儲存器、一記憶體及一處理器。該儲存器儲存一白名單,其中該白名單記錄 複數組資料,且各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值。
於步驟S201,由該處理器執行一系統程式。此系統程式可視為一虛擬機,用以控管在電子計算裝置運行之應用程式之資源配置。舉例而言,系統程式可為一爪哇虛擬機、一ART虛擬機或一Dalvik虛擬機。於步驟S203,由該系統程式於一初始化階段將該白名單載入該記憶體。於步驟S205,由該系統程式偵測到某一應用程式被觸發(例如:偵測到代表該應用程式之圖像被點擊)。為便於後續說明,此被觸發之應用程式被稱之為「特定應用程式」。
於步驟S207,由該系統程式判斷記憶體之白名單中是否有該特定應用程式之資料。若步驟S207之判斷結果為是,則接著執行步驟S209,由該系統程式根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值。接著,於步驟S211,由該系統程式依據該偏移值更新用於觸發該記憶體回收函式之一門檻值。於步驟S213,由該系統程式複製一程序予該特定應用程式。若步驟S207之判斷結果為否,則該方法直接執行步驟S213。
需說明者,於本實施方式中,每當該系統程式需要配置堆積予該特定應用程式或其他的應用程式時,該方法執行一步驟(未繪示)以由該系統程式計算一預估堆積使用量(亦即,要再配置之一堆積量加上已使用之堆積量),再執行另一步驟(未繪示)以判斷該預估堆積使用量是否大於該門檻值。若該預估堆積使用量大於該門檻值,則該方法再執行另一步驟以由該系統程式執行該記憶體回收函式。
除了上述步驟,第二實施方式亦能執行第一實施方式所描述之所有運作及步驟,具有同樣之功能,且達到同樣之技術效果。本發明所屬技術領域中具有通常知識者可直接瞭解第二實施方式如何基於上述第一實施方式以執行此等運作及步驟,具有同樣之功能,並達到同樣之技術效果,故不贅述。
在第二實施方式中所闡述之一種調整一記憶體回收函式之觸發機制之方法可由包含複數個指令之一電腦程式產品實現。該電腦程式產品可為能被於網路上傳輸之檔案,亦可被儲存於一非暫態電腦可讀取儲存媒體中。針對該電腦程式產品,在其所包含之該等指令被載入一電子計算裝置(例如:第一實施方式之電子計算裝置1)之後,該電腦程式執行如在第二實施方式中所述之調整一記憶體回收函式之觸發機制之方法。該非暫態電腦可讀取儲存媒體可為一電子產品,例如:一唯讀記憶體(read only memory;ROM)、一快閃記憶體、一軟碟、一硬碟、一光碟(compact disk;CD)、一隨身碟或本發明所屬技術領域中具有通常知識者所知且具有相同功能之任何其他儲存媒體。
依據本發明所提供之技術,電子計算裝置上所執行之系統程式使用一白名單,且該白名單記載各個應用程式之偏移值(亦即,用以更新觸發記憶體回收函式之門檻值之量)。每當有一應用程式被觸發時,若系統程式判斷白名單上有該應用程式之偏移值,系統程式便會據以更新觸發記憶體回收函式之門檻值。由於系統程式動態地更新觸發記憶體回收函式之門檻值,因此能降低觸發記憶體回收函式之機率,延後觸發記憶體回收函式之時機,且提升應用程式之執行效能。
上述實施方式僅用來例舉本發明之部分實施態樣,以及闡釋本發明之技術特徵,而非用來限制本發明之保護範疇及範圍。任何本發明所屬技術領域中具有通常知識者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,而本發明之權利保護範圍以申請專利範圍為準。

Claims (12)

  1. 一種電子計算裝置,包含:一儲存器,儲存一白名單,其中該白名單記錄複數組資料,各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值;一記憶體;以及一處理器,電性連接至該儲存器及該記憶體,且執行一系統程式,其中,該系統程式於一初始化階段將該白名單載入該記憶體,偵測到一特定應用程式被觸發,根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值,複製(fork)一程序(process)予該特定應用程式,且依據該偏移值更新用於觸發一記憶體回收(garbage collection)函式之一門檻值。
  2. 如請求項1所述之電子計算裝置,其中該系統程式係藉由將該偏移值加上該門檻值而更新該門檻值。
  3. 如請求項1所述之電子計算裝置,其中該系統程式更判斷一預估堆積(heap)使用量大於該門檻值,且該系統程式更於判斷該預估堆積使用量大於該門檻值後執行該記憶體回收函式。
  4. 如請求項1所述之電子計算裝置,其中該系統程式為一爪哇(Java)虛擬機(virtual machine)、一安卓系統運行環境(Android RunTime;ART)虛擬機及一Dalvik虛擬機其中之一。
  5. 一種調整一記憶體回收函式之觸發機制之方法,適用於一電子計算裝置,該電子計算裝置包含一儲存器、一記憶體及一處理器,該儲存器儲存一白名單,該白名單記錄複數組資料,各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值,該方法包含下列步驟:(a)由該處理器執行一系統程式;(b)由該系統程式於一初始化階段將該白名單載入該記憶體;(c)由該系統程式偵測到一特定應用程式被觸發;(d)由該系統程式根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值;(e)由該系統程式複製一程序予該特定應用程式;以及(f)由該系統程式依據該偏移值更新用於觸發該記憶體回收函式之一門檻值。
  6. 如請求項5所述之方法,其中該步驟(f)係藉由將該偏移值加上該門檻值而更新該門檻值。
  7. 如請求項5所述之方法,更包含下列步驟:由該系統程式判斷一預估堆積使用量大於該門檻值;以及由該系統程式於判斷該預估堆積使用量大於該門檻值後,執行該記憶體回收函式。
  8. 如請求項5所述之方法,其中該系統程式為一爪哇虛擬機、一安卓系統運行環境虛擬機及一Dalvik虛擬機其中之一。
  9. 一種電腦程式產品,經由一電子計算裝置載入該電腦程式產品後,該電子計算裝置執行該電腦程式產品所包含之複數個程式指令,以執行一種調整一記憶體回收函式之觸發機制之方法,該電子計算裝置包含一儲存器、一記憶體及一處理器,該儲存器儲存一白名單,該白名單記錄複數組資料,各組資料包含一應用程式之一名稱及該應用程式對應之一偏移值,該方法包含下列步驟:(a)由該處理器執行一系統程式;(b)由該系統程式於一初始化階段將該白名單載入該記憶體;(c)由該系統程式偵測到一特定應用程式被觸發;(d)由該系統程式根據該特定應用程式之一名稱自該記憶體之該白名單擷取該特定應用程式所對應之該偏移值;(e)由該系統程式複製一程序予該特定應用程式;以及(f)由該系統程式依據該偏移值更新用於觸發該記憶體回收函式之一門檻值。
  10. 如請求項9所述之電腦程式產品,其中該步驟(f)係藉由將該偏移值加上該門檻值而更新該門檻值。
  11. 如請求項9所述之電腦程式產品,其中該方法更包含下列步驟:由該系統程式判斷一預估堆積使用量大於該門檻值;以及由該系統程式於判斷該預估堆積使用量大於該門檻值後,執行該記憶體回收函式。
  12. 如請求項9所述之電腦程式產品,其中該系統程式為一爪哇虛擬機、一安卓系統運行環境虛擬機及一Dalvik虛擬機其中之一。
TW106124335A 2017-06-16 2017-07-20 電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品 TWI652622B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??201710457210.7 2017-06-16
CN201710457210.7A CN109144708B (zh) 2017-06-16 2017-06-16 电子计算装置及调整一内存回收函数的触发机制的方法

Publications (2)

Publication Number Publication Date
TW201905687A TW201905687A (zh) 2019-02-01
TWI652622B true TWI652622B (zh) 2019-03-01

Family

ID=64658052

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106124335A TWI652622B (zh) 2017-06-16 2017-07-20 電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品

Country Status (3)

Country Link
US (1) US10671526B2 (zh)
CN (1) CN109144708B (zh)
TW (1) TWI652622B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10824556B2 (en) * 2018-11-05 2020-11-03 International Business Machines Corporation Adaptive garbage collection (GC) utilization for grid storage systems
EP4283473A1 (en) 2021-08-02 2023-11-29 Samsung Electronics Co., Ltd. Device and method for reduction of garbage collection operations

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6854115B1 (en) * 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US7953711B2 (en) * 2008-04-30 2011-05-31 Oracle America, Inc. Method and system for hybrid garbage collection of multi-tasking systems
US8166269B2 (en) * 2009-11-05 2012-04-24 Oracle America, Inc. Adaptive triggering of garbage collection
US9032168B2 (en) 2012-05-31 2015-05-12 Htc Corporation Memory management methods and systems for mobile devices
JP6005566B2 (ja) 2013-03-18 2016-10-12 株式会社東芝 情報処理システム、制御プログラムおよび情報処理装置
CN105094977B (zh) * 2014-04-30 2018-11-16 广州市动景计算机科技有限公司 基于域名调整应用程序占用内存的方法及装置
US9747201B2 (en) * 2015-03-26 2017-08-29 Facebook, Inc. Methods and systems for managing memory allocation
US9600204B1 (en) * 2015-12-08 2017-03-21 International Business Machines Corporation Efficiently using memory for Java collection objects
CN105740071B (zh) * 2016-03-17 2018-12-04 深圳市九洲电器有限公司 一种安卓系统运行速度管理方法及系统
CN106598697A (zh) * 2016-11-14 2017-04-26 中国石油化工股份有限公司 一种虚拟机的虚拟内存动态调配方法

Also Published As

Publication number Publication date
CN109144708A (zh) 2019-01-04
US10671526B2 (en) 2020-06-02
TW201905687A (zh) 2019-02-01
US20180365144A1 (en) 2018-12-20
CN109144708B (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US10228745B2 (en) Resuming a system-on-a-chip device
JP6782331B1 (ja) バックアップシステム
KR101651204B1 (ko) 스냅샷 이미지의 동기화 장치 및 방법
JP2017521768A (ja) 耐性があるメモリストレージを伴うファームウェアインターフェイス
US10235183B2 (en) Booting a system-on-a-chip device
US20210192046A1 (en) Resource Management Unit for Capturing Operating System Configuration States and Managing Malware
TWI652622B (zh) 電子計算裝置、調整一記憶體回收函式之觸發機制之方法及其電腦程式產品
US11782761B2 (en) Resource management unit for capturing operating system configuration states and offloading tasks
WO2017168484A1 (ja) 管理計算機および性能劣化予兆検知方法
US20120198184A1 (en) Memory management method, computer system and computer readable medium
US20140101671A1 (en) Information processing apparatus and information processing method
US11809881B2 (en) Target process injection prior to execution of marker libraries
TWI779338B (zh) 用於記憶體管理機會與記憶體交換任務之運算系統及管理其之方法
WO2013136457A1 (ja) 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法
US10754792B2 (en) Persistent virtual address spaces
US10606748B2 (en) Apparatus and method for garbage collection on socket objects
Li et al. Enhancing security of embedded Linux on a multi-core processor
US20240095188A1 (en) Memory deduplication for encrypted virtual machines
US20150052396A1 (en) State information recording apparatus, non-transitory computer readable medium, and state information recording method
TW202418076A (zh) 用於記憶體管理機會與記憶體交換任務之運算系統及管理其之方法
JP2020135555A (ja) 処理実行方法
JPWO2013136457A1 (ja) 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees