TWI835479B - 電子裝置及記憶體管理方法 - Google Patents
電子裝置及記憶體管理方法 Download PDFInfo
- Publication number
- TWI835479B TWI835479B TW111149312A TW111149312A TWI835479B TW I835479 B TWI835479 B TW I835479B TW 111149312 A TW111149312 A TW 111149312A TW 111149312 A TW111149312 A TW 111149312A TW I835479 B TWI835479 B TW I835479B
- Authority
- TW
- Taiwan
- Prior art keywords
- target
- flag
- time
- threshold
- warning
- Prior art date
Links
- 238000007726 management method Methods 0.000 title claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一種電子裝置包含目標記憶體以及處理器。處理器用以以複數分級閥值中之一作為目標閥值、偵測並判斷目標記憶體的使用量是否達到目標閥值以及判斷達標次數是否達到預設次數。於判定使用量達到目標閥值時,處理器記錄當前時間至達標時間、遞增達標次數、根據達標時間與達標次數產生目標記憶體的警示記錄,並重置超時時間。於判定達標次數達到預設次數時,處理器以大於當前目標閥值的一分級閥值更新目標閥值。
Description
本發明是關於記憶體管理技術,特別是一種電子裝置及記憶體管理方法。
一般而言,當記憶體異常增加時,作業系統只會回報一錯誤斷言(error assertion)並造成整個系統停擺。然而,造成錯誤斷言之成因的種類太多,例如存取到禁區、記憶體洩漏(memory leak)等。
在作業系統僅有回報錯誤斷言而無其他詳細資訊的情況下,使用者並無法快速判斷出造成錯誤斷言之成因為何,使得除錯較為困難且除錯速度緩慢。
在一實施例中,本發明提供一種電子裝置。此電子裝置包含目標記憶體以及處理器。處理器用以以複數分級閥值中之一者作為目標閥值、偵測並判斷目標記憶體的使用量是否達到目標閥值,以及判斷達標次數是否達到預設次數。於判定使用量達到目標閥值時,處理器記錄當前時間至達標時間、遞增達標次數、根據達標時間與達標次數產生目標記憶體的警示記錄,並重置超時時間成第一時間。於判定達標次數達到預設次數時,處理器以此些分級閥值中大於當前之目標閥值的分級閥值更新目標閥值。
在一實施例中,本發明提供一種記憶體管理方法。此記憶體管理方法包含:以複數分級閥值中之一者作為目標閥值;偵測目標記憶體的使用量;判斷使用量是否達到目標閥值;於判定使用量達到目標閥值時,記錄當前時間至達標時間、遞增達標次數、重置超時時間成第一時間,並根據達標時間與達標次數產生目標記憶體的警示記錄;判斷達標次數是否達到預設次數;以及於判定達標次數達到預設次數時,以此些分級閥值中大於當前之目標閥值的一分級閥值更新目標閥值。
綜上所述,任一實施例之電子裝置及記憶體管理方法會偵測目標記憶體的使用量,並於偵測到目標記憶體的使用量達到目標閥值時產生目標記憶體的警示記錄。如此一來,在電子裝置出現錯誤斷言時,使用者便可根據警示記錄快速判斷出發生記憶體洩漏的可能性的高低,且根據動態變動的目標閥值以於該目標記憶體達到對應的目標閥值時,對應當下的目標閥值的等級,對應產生並傳送不同等級的警示訊息;本地端或遠端使用者,即可在使用量達標準監測閥值(98%)的目標閥值之前,就先根據所收到的警示訊息提早得知,該目標記憶體有發生記憶體洩漏的可能性,但風險不高,以及根據所收到的緊急警示訊息得知,該目標記憶體可能即將發生記憶體洩漏。特別是,使用者可根據警示記錄判斷出發生記憶體洩漏的主體是目標記憶體,進而可大幅提升使用者的及早發現錯誤、加快除錯速度並降低其除錯負擔。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者瞭解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。
為使本發明之實施例之上述目的、特徵和優點能更明顯易懂,下文配合所附圖式,作詳細說明如下。
必須了解的是,使用於本說明書中的「包含」一詞,是用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
圖1為電子裝置之一實施例的方塊示意圖。請參閱圖1。值得注意的是,為了清楚闡述本發明,圖1為一簡化的方塊圖,其中僅顯示出與本發明相關之元件。熟悉此項技藝者應了解電子裝置100亦可能包含其他元件,用以提供特定之功能。
電子裝置100可執行本發明任一實施例之記憶體管理方法。在一實施例中,電子裝置100包含目標記憶體110以及處理器120,且處理器120耦接於目標記憶體110。
在一些實施態樣中,目標記憶體110可為一記憶體的堆疊(stack)記憶空間或堆積(heap)記憶空間。此外,處理器120可例如為嵌入式控制器(Embed Controller,EC)、系統單晶片(SoC)、中央處理器(CPU)、微控制器(MCU)、特殊應用積體電路(ASIC)、應用處理器(Application Processor,AP)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化邏輯裝置(PLD)或其他任何合適的電子組件。
在一些實施例中,電子裝置100可更包含儲存記憶體130,且處理器120耦接於儲存記憶體130。儲存記憶體130用以儲存執行記憶體管理方法所需的各式資料,例如但不限於警示記錄LOG、警示旗標FA、運作時間、超時時間、分級閥值等。在一些實施態樣中,儲存記憶體130可為各種類型的非揮發性記憶體(non-volatile memory,NVM),例如但不限於為唯讀記憶體(read-only memory,ROM)或快閃記憶體(flash memory)。
圖2為記憶體管理方法之一實施例的流程示意圖。請參閱圖2。在記憶體管理方法之一實施例中,電子裝置100之處理器120可先讀取儲存記憶體130,以自儲存記憶體130取得步驟S20中所需的目標閥值(步驟S10)。接續,電子裝置100之處理器120會偵測目標記憶體110的使用量(步驟S20),並判斷所偵測到的目標記憶體110的使用量是否達到一目標閥值(步驟S30)。於判定目標記憶體110的使用量達到目標閥值時,處理器120會產生目標記憶體110的警示記錄LOG(步驟S40)。如此一來,在電子裝置100出現錯誤斷言(error assertion)時,使用者便可根據警示記錄LOG快速且提早判斷出發生記憶體洩漏(memory leak)的可能性。特別是,使用者可根據警示記錄LOG提早判斷出目標記憶體110有可能即將發生記憶體洩漏,或是判斷出發生記憶體洩漏的主體很可能是目標記憶體110,進而可大幅提升使用者的除錯速度並降低其除錯負擔。
在一些實施例中,處理器120可以一運作頻率執行任一實施例之記憶體管理方法。具體而言,處理器120可每隔一運作時間固定返回至步驟S10,以重啟流程。其中,運作頻率為運作時間之倒數。在一些實施態樣中,運作時間可例如但不限於為2秒。
圖3為記憶體管理方法之一實施例的流程示意圖。請參閱圖1與圖3。在一些實施例中,於步驟S30中判定目標記憶體110的使用量達到目標閥值時,處理器120於步驟S40中會先讀取儲存記憶體130中的一警示旗標FA,並且判斷警示旗標FA是否為第一旗標(步驟S41)。
在一些實施例中,警示旗標FA用以表示已偵測到的目標記憶體110之使用量的狀態。其中,當警示旗標FA為第一旗標時,表示未偵測到目標記憶體110之使用量達到目標閥值。而當警示旗標FA為第二旗標時,則表示偵測到目標記憶體110之使用量達到目標閥值。
在一些實施態樣中,警示旗標FA以單一個二進制的位元來表示時,所述的第一旗標可為“0”,且第二旗標為“1”,但本發明並非以此為限。所述的第一旗標亦可為“1”,且第二旗標為“0”。
於步驟S41中判定警示旗標FA為第一旗標時,表示此次屬於系統上電後或是處理器120重置警示旗標FA後第一次偵測到目標記憶體110的使用量達到目標閥值,所以警示旗標FA尚未因應本次的步驟S30的判斷結果進行對應的變更記錄,因此當下的警示旗標FA仍為表示使用量尚未達到目標閥值的第一旗標。此時,處理器120會記錄一當前時間(即處理器120偵測到目標記憶體110之使用量達到目標閥值的時間)至警示記錄LOG的一達標時間、遞增警示記錄LOG的一達標次數、重置一超時時間成預設的一第一時間,並且將警示旗標FA自當前的第一旗標改設置成一第二旗標(步驟S42),其中,該達標次數指示出該目標記憶體110的使用量,以運作時間的時間區間為周期的循環偵測過程,使用量被連續地偵測到達到目標閥值的次數。在一些實施態樣中,達標次數的初始值可例如但不限於為零,且所述之遞增可為但不限於增加數值1。於此,因此次為系統上電後或是處理器120重置警示旗標FA後第一次偵測到目標記憶體110的使用量達到目標閥值,所以達標次數可例如但不限於由零變成1。
於步驟S41中判定警示旗標FA非為第一旗標時,表示先前已有偵測到目標記憶體110的使用量達到目標閥值,此時,處理器120會記錄當前時間至警示記錄LOG的達標時間、遞增警示記錄LOG的達標次數,並重置超時時間成預設的第一時間(步驟S43)。於此,因此次非為第一次偵測到目標記憶體110的使用量達到目標閥值,例如但不限於此次為第二次時,達標次數可例如但不限於由1變成2。
在一些實施例中,超時時間是用以確認偵測到目標記憶體110的使用量未達到目標閥值的持續時間有多久。
在一些實施例中,於重置超時時間之後,超時時間可以遞減方式(即,倒數)自預設的第一時間逐漸變動至預設的第二時間。此外,第一時間與第二時間之間的差距即為將警示旗標FA自第二旗標設置回第一旗標的重置週期。於此,由於超時時間是以遞減之方式自第一時間逐漸變動至第二時間。因此,超時時間的當前時間值即代表了欲將警示旗標FA自第二旗標設置回第一旗標的剩餘時間,且超時時間的當前時間值與第二時間之間的差距即代表了偵測到目標記憶體110的使用量未達到目標閥值的持續時間。
在一些實施態樣中,第一時間可例如但不限於為20秒,第二時間可例如但不限於為0秒,且將警示旗標FA自第二旗標設置回第一旗標的重置週期為20秒(即,第一時間與第二時間的差距)。舉例而言,超時時間由第一時間,例如自20秒開始倒數。在倒數過程中,當超時時間遞減至6秒時,表示偵測到目標記憶體110的使用量未達到目標閥值的持續時間已達14秒,且亦表示欲將警示旗標FA自第二旗標設置回第一旗標的剩餘時間為6秒。最後,當超時時間遞減至0秒時,表示偵測到目標記憶體110的使用量未達到目標閥值的持續時間已達20秒,且亦表示欲將警示旗標FA自第二旗標設置回第一旗標的剩餘時間為0秒。此時,處理器120便會將警示旗標FA自第二旗標設置回第一旗標。
在另一些實施例中,於重置超時時間之後,超時時間可以遞增方式(即,累加)自預設的第一時間逐漸變動至預設的第二時間。此外,第一時間與第二時間之間的差距即為將警示旗標FA自第二旗標設置回第一旗標的重置週期。於此,由於超時時間是以遞增之方式自第一時間逐漸變動至第二時間。因此,超時時間的當前時間值即代表了偵測到目標記憶體110的使用量未達到目標閥值的持續時間,且超時時間的當前時間值與第二時間之間的差距即代表了欲將警示旗標FA自第二旗標設置回第一旗標的剩餘時間。
在一些實施態樣中,第一時間可例如但不限於為0秒,第二時間可例如但不限於為20秒,且將警示旗標FA自第二旗標設置回第一旗標的設置週期為20秒(即,第一時間與第二時間的差距)。舉例而言,超時時間由第一時間,例如自0秒開始累加。在累加過程中,當超時時間遞增至8秒時,表示偵測到目標記憶體110的使用量未達到目標閥值的持續時間已達8秒,且亦表示欲將警示旗標FA自第二旗標設置回第一旗標的剩餘時間為12秒。最後,當超時時間遞增至20秒時,表示偵測到目標記憶體110的使用量未達到目標閥值的持續時間已達20秒,且亦表示欲將警示旗標FA自第二旗標設置回第一旗標的剩餘時間為0秒。此時,處理器120便會將警示旗標FA自第二旗標設置回第一旗標。
在一些實施態樣中,超時時間可例如但不限於由一計時器(timer)提供。
在一些實施態樣中,警示記錄LOG中的達標時間的初始值可為零。此外,當前時間可以時間戳記(timestamp)之型式記錄至警示記錄LOG的達標時間,也就是說,處理器120於記錄過程讀取系統運作過程實時更新的一系統時間據以產生該當前時間的時間戳記。
在一些實施例中,於重置超時時間成第一時間之後(即步驟S42或步驟S43之後),處理器120可在此輪流程的執行時間已達運作時間時,返回執行步驟S20的偵測(因處理器120是每隔一運作時間執行步驟S20一次),以啟動下一輪的判斷。
在一些實施例中,於步驟S30中判定所偵測到的目標記憶體110的使用量未達到目標閥值時,處理器120會先讀取儲存記憶體130中的警示旗標FA,並且判斷警示旗標FA是否為第二旗標(步驟S50)。
在一些實施例中,當處理器120於步驟S50中判定警示旗標FA非為第二旗標時,表示先前亦未偵測到目標記憶體110之使用量達到目標閥值。接續,處理器120可在當前的時間與前次執行步驟S20之間的時間間隔已達運作時間時,返回執行步驟S20的偵測,以啟動下一輪的判斷。
在一些實施例中,當處理器120於步驟S50中判定警示旗標FA為第二旗標時,表示先前已有偵測到過目標記憶體110之使用量達到目標閥值。此時,處理器120會進一步判斷超時時間是否為預設的第二時間(步驟S60)。
在一些實施例中,於步驟S60中判定超時時間非為第二時間時,表示在先前偵測到目標記憶體110之使用量達到目標閥值之後,連續偵測到目標記憶體110之使用量未達到目標閥值的持續時間還未達到前述之警示旗標FA的重置週期(例如20秒)。接續,處理器120可在當前的時間與前次執行步驟S20之間的時間間隔已達運作時間時,返回執行步驟S20的偵測,以啟動下一輪的判斷。
在一些實施例中,於步驟S60中判定超時時間為第二時間時,表示在先前偵測到目標記憶體110之使用量達到目標閥值之後,連續偵測到目標記憶體110之使用量未達到目標閥值的持續時間已達到前述之警示旗標FA的重置週期,例如20秒。此時,處理器120會重置警示旗標FA,也就是說,處理器120會將警示旗標FA自第二旗標設置回第一旗標,並將超時時間自第二時間重置回第一時間,且重置/歸零該達標次數(步驟S80)。之後,處理器120可在當前的時間與前次執行步驟S20之間的時間間隔已達運作時間時,返回執行步驟S20的偵測。
在一些實施例中,電子裝置100可更包含警示單元140,且警示單元140耦接於處理器120。警示單元140用以根據來自處理器120的一控制訊號SC產生警示訊息M1,以致使用者可根據警示訊息M1得知目標記憶體110的使用狀態。
在一些實施例中,處理器120可於判定目標記憶體110的使用量達到目標閥值時產生並輸出控制訊號SC給警示單元140,以致警示單元140根據控制訊號SC產生警示訊息M1。
在一些實施例中,於處理器120在步驟S30中判定目標記憶體110的使用量達到目標閥值時,處理器120可產生並輸出具有第一值的控制訊號SC給警示單元140,以致警示單元140根據第一值的控制訊號SC產生警示訊息M1。此外,處理器120可於步驟S80中產生並輸出具有第二值的控制訊號SC給警示單元140,以致警示單元140根據第二值的控制訊號SC停止產生警示訊息M1。
在一些實施態樣中,所述的第一值可為邏輯“1”,且第二值為邏輯“0”。但本發明不以此為限,所述的第一值亦可為邏輯“0”,且第二值為邏輯“1”。
在一些實施態樣中,警示單元140可以至少一發光二極體來實施,且所產生的警示訊息M1可為一種光訊號,例如亮色燈或燈號閃爍。在另一些實施態樣中,警示單元140可以響音電路來實施,例如但不限於蜂鳴器或喇叭,且所產生的警示訊息M1為特定的聲響,例如但不限於蜂鳴聲或特定錄製的警示話語。在又一些實施態樣中,警示單元140可以顯示器來實施,且警示訊息M1為圖像及/或文字訊息。在其他實施態樣中,警示單元140亦可以至少一無線發射電路來實施,且警示單元140可將警示訊息M1透過無線方式發送至一遠端伺服器,以透過遠端伺服器來進行警示,該警示單元140也可以是一具有網路功能的控制模組,例如為一基板管理控制器、一複雜可編程邏輯裝置、一微處理器及網卡或以上任兩者之組合,且該警示單元140根據第一值的控制訊號SC產生並傳送警示訊息M1,其中,該警示單元140根據一預設IP位址、一預設電話號碼或一預設電子郵件地址傳送該警示訊息。但本發明並非僅限於此,警示單元140可為前述的任意組合。
在一些實施例中,儲存記憶體130可儲存複數分級閥值。圖4為記憶體管理方法之一實施例的流程示意圖。請參閱圖1與圖4。在記憶體管理方法之一實施例中,電子裝置100之處理器120是以複數分級閥值中之一者來作為目標閥值(步驟S10’)。
在一些實施態樣中,處理器120可根據複數分級閥值的大小,優先選擇以較小的分級閥值來作為當前的目標閥值。舉例而言,發生記憶體洩漏表示記憶體的使用量達100%的記憶體洩漏臨界點,即將發生記憶體洩漏的標準監測閥值為98%,複數分級閥值由低至高分別依據以下公式設定,每一分級閥值為其上一級分級閥值+(記憶體洩漏臨界點-上一級分級閥值)*50%的百分比(四捨五入取百分比的整數),例如,當預設最小的分級閥值為90%,則複數分級閥值分別為90%、95%、98%以及99%時,處理器120會優先以90%的分級閥值來作為目標閥值,並於每次需要更新目標閥值時,例如每次執行步驟S40(不論是執行步驟S42或是執行步驟S43),以當下的目標閥值所對應的分級閥值之下一級分級閥值來更新當下的目標閥值。
接續,處理器120會偵測目標記憶體110的使用量(步驟S20),並判斷所偵測到的目標記憶體110的使用量是否達到一目標閥值(步驟S30)。其中,於判定目標記憶體110的使用量達到目標閥值時,處理器120會產生目標記憶體110的警示記錄LOG(步驟S40),並且選擇性地更新目標閥值(步驟S90),在本實施例中,當處理器120於步驟S40判定使用量達當下的目標閥值後,處理器120於步驟S90以當下的目標閥值對應的該分級閥值之下一級分級閥值更新該目標閥值。
圖5為步驟S90之一實施例的流程示意圖。請參閱圖1、圖4與圖5。在步驟S90之一實施例中,處理器120可判斷於步驟S40中遞增的該達標次數是否到達一預設次數(步驟S91)。其中,該達標次數用以表示目標記憶體110之使用量達到目標閥值的次數。
在一些實施態樣中,達標次數的初始值可為零。預設次數可例如為10次或其他任意次數。此外,所述之遞增可為增加數值1,例如,處理器120於執行步驟S42中,將該達標次數更新為1,並於執行步驟S43中,將該達標次數累加的更新為大於1的其他整數,但本發明並非以此為限,遞增的數值可為視設計而定,也可以以依序變換的字符來做記錄,例如為A、B、C、D等字符,並於步驟S40中將該達標次數以依序變更為下一個字符的方式來累加記錄,且步驟S91中的該預設次數為其中一字符,例如為J,則當該達標次數與該預設次數相符,即判斷出該達標次數到達該預設次數。
在一些實施例中,於判定達標次數到達預設次數時,處理器120會以複數分級閥值中大於當前之目標閥值的下一分級閥值來更新目標閥值(步驟S92)。反之,於判定達標次數未達到預設次數時,處理器120會不更新,即維持當前的目標閥值之數值(步驟S93),並於重置警示旗標FA時,一併重置該目標閥值至初始值,例如處理器120於執行步驟S80中,將警示旗標FA自第二旗標設置回第一旗標,一併將該目標閥值重置至最小分的分級閥值,也就是90%。
在一些實施例中,處理器120於步驟S92中是以大於當前之目標閥值的所有分級閥值中最小的一分級閥值來更新目標閥值。舉例而言,當複數分級閥值分別為90%、95%、98%以及99%且當前的目標閥值為95%時,處理器120會更新目標閥值成98%;在另一實施例中,當該處理器120於步驟S43或步驟S90/S92判斷動態變更的該目標閥值達標準監測閥值(98%)時,處理器120進一步產生並輸出具有第三值的控制訊號SC給警示單元140,以致警示單元140根據第三值的控制訊號SC產生緊急警示訊息M2。此外,處理器120可於步驟S80中產生並輸出具有第二值的控制訊號SC給警示單元140,以致警示單元140根據第二值的控制訊號SC停止產生警示訊息M1及該緊急警示訊息M2。
在一些實施例中,於步驟S92中更新目標閥值後,處理器120可重置達標次數。
在一些實施例中,無論處理器120在步驟S90中更新目標閥值與否,處理器120可在當前的時間與前次執行步驟S20之間的時間間隔已達運作時間時,返回執行步驟S20的偵測。
在一些實施例中,於步驟S30之判定結果為目標記憶體110的使用量達到目標閥值時,處理器120於步驟S40中可更根據當前的目標閥值產生相應的控制訊號SC給警示單元140,使得警示單元140根據控制訊號SC產生相應的警示訊息M1。舉例而言,倘若當前的目標閥值為95%時,警示單元140會根據控制訊號SC發出黃色色光。而倘若當前的目標閥值為98%時,警示單元140則會根據控制訊號SC發出紅色色光。如此一來,使用者可根據不同的警示訊息M1(例如,黃色色光或紅色色光)判斷出目標記憶體110的使用程度。
綜上所述,任一實施例之電子裝置100及記憶體管理方法會偵測目標記憶體110的使用量,並於偵測到目標記憶體110的使用量達到目標閥值時產生目標記憶體110的警示記錄LOG。如此一來,在電子裝置100出現錯誤斷言時,使用者便可根據警示記錄LOG快速判斷出發生記憶體洩漏的可能性的高低,且根據動態變動的目標閥值以於該目標記憶體110達到對應的目標閥值時,對應當下的目標閥值的等級,對應產生並傳送不同等級的警示訊息;本地端或遠端使用者,即可在使用量達標準監測閥值(98%)的目標閥值之前,就先根據所收到的警示訊息M1提早得知,該目標記憶體110有發生記憶體洩漏的可能性,但風險不高,以及根據所收到的緊急警示訊息M2得知,該目標記憶體110可能即將發生記憶體洩漏。特別是,使用者可根據警示記錄LOG判斷出發生記憶體洩漏的主體是目標記憶體110,進而可大幅提升使用者的及早發現錯誤、加快除錯速度並降低其除錯負擔。
雖然本發明的技術內容已經以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神所作些許之更動與潤飾,皆應涵蓋於本發明的範疇內,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:電子裝置
110:目標記憶體
120:處理器
130:儲存記憶體
140:警示單元
FA:警示旗標
LOG:警示記錄
M1:警示訊息
M2:緊急警示訊息
SC:控制訊號
S10~S90:步驟
S10’:步驟
S41~S43:步驟
S91~S93:步驟
圖1為電子裝置之一實施例的方塊示意圖。
圖2為記憶體管理方法之一實施例的流程示意圖。
圖3為記憶體管理方法之一實施例的流程示意圖。
圖4為記憶體管理方法之一實施例的流程示意圖。
圖5為步驟S90之一實施例的流程示意圖。
S10~S40:步驟
Claims (6)
- 一種電子裝置,包含:一目標記憶體;一儲存記憶體,用以儲存複數分級閥值;一處理器,用以以該些分級閥值中之一者作為一目標閥值、偵測並判斷該目標記憶體的一使用量是否達到該目標閥值,以及判斷一達標次數是否達到一預設次數;以及一警示單元;其中,於判定該使用量達到該目標閥值時,該處理器記錄一當前時間至一達標時間、遞增該達標次數、根據該達標時間與該達標次數產生該目標記憶體的一警示記錄、重置一超時時間成一第一時間,以及根據作為當前的該目標閥值的該分級閥值致使該警示單元產生相應於該分級閥值的一警示訊息;以及其中,於判定該達標次數達到該預設次數時,該處理器以大於當前之該目標閥值的該些分級閥值中最小的該分級閥值更新該目標閥值,其中於更新後的該目標閥值達一標準監測閥值時,該處理器更致使該警示單元產生一緊急警示訊息。
- 如請求項1所述的電子裝置,其中於判定該使用量達到該目標閥值時,該處理器更判斷一警示旗標是否為一第一旗標,其中於判定該警示旗標為該第一旗標時,該處理器設置該警示旗標成一第二旗標,以及其中於判定該警示旗標非為該第一旗標時,該處理器返回偵測並判斷該目標記憶體的該使用量。
- 如請求項2所述的電子裝置,其中於判定該使用量未達到該目標閥值時,該處理器更判斷該警示旗標是否為該第二旗標,其中於判定該警示旗標非為該第二旗標時,該處理器返回偵測並判斷該目標記憶體的該使用量,其中於判定該警示旗標為該第二旗標時,該處理器更判斷該超時時間是否為一第二時間,其中於判定該超時時間非為該第二時間時,該處理器返回偵測並判斷該目標記憶體的該使用量,以及其中於判定該超時時間為該第二時間時,該處理器設置該警示旗標成該第一旗標、重置該達標次數並重置該超時時間成該第一時間。
- 一種記憶體管理方法,包含:以儲存在一儲存記憶體中的複數分級閥值中之一者作為一目標閥值;偵測一目標記憶體的一使用量;判斷該使用量是否達到該目標閥值;於判定該使用量達到該目標閥值時,記錄一當前時間至一達標時間、遞增一達標次數、重置一超時時間成一第一時間、根據該達標時間與該達標次數產生該目標記憶體的一警示記錄,並且根據作為當前的該目標閥值的該分級閥值致使一警示單元產生相應於該分級閥值的一警示訊息;判斷該達標次數是否達到一預設次數;於判定該達標次數達到該預設次數時,以大於當前之該目標閥值的該些分級閥值中最小的該分級閥值更新該目標閥值;以及於更新後的該目標閥值達一標準監測閥值時,致使該警示單元產生一緊急警示訊息。
- 如請求項4所述的記憶體管理方法,更包含: 於判定該使用量達到該目標閥值時,判斷一警示旗標是否為一第一旗標;於判定該警示旗標為該第一旗標時,設置該警示旗標成一第二旗標;以及於判定該警示旗標非為該第一旗標時,返回執行偵測該目標記憶體的該使用量之步驟。
- 如請求項5所述的記憶體管理方法,更包含:於判定該使用量未達到該目標閥值時,判斷該警示旗標是否為該第二旗標;於判定該警示旗標非為該第二旗標時,返回執行偵測該目標記憶體的該使用量之步驟;於判定該警示旗標為該第二旗標時,判斷該超時時間是否為一第二時間;於判定該超時時間非為該第二時間時,返回執行偵測該目標記憶體的該使用量之步驟;以及於判定該超時時間為該第二時間時,設置該警示旗標成該第一旗標、重置該達標次數並重置該超時時間成該第一時間。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111149312A TWI835479B (zh) | 2022-12-21 | 2022-12-21 | 電子裝置及記憶體管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111149312A TWI835479B (zh) | 2022-12-21 | 2022-12-21 | 電子裝置及記憶體管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI835479B true TWI835479B (zh) | 2024-03-11 |
TW202427198A TW202427198A (zh) | 2024-07-01 |
Family
ID=91269478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111149312A TWI835479B (zh) | 2022-12-21 | 2022-12-21 | 電子裝置及記憶體管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI835479B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991853A (zh) * | 2015-07-22 | 2015-10-21 | 北京京东尚科信息技术有限公司 | 一种输出预警信息的方法和装置 |
CN108958891A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种虚拟机内存分配方法、装置及终端 |
CN112783711A (zh) * | 2019-11-01 | 2021-05-11 | 福建省天奕网络科技有限公司 | NodeJS上程序内存分析的方法、存储介质 |
TW202215242A (zh) * | 2020-10-14 | 2022-04-16 | 大陸商中國銀聯股份有限公司 | 基於機器學習的資料即時監控方法以及裝置 |
CN114416411A (zh) * | 2022-01-14 | 2022-04-29 | 杭州迪普科技股份有限公司 | 内存故障检测方法及装置 |
CN115168156A (zh) * | 2022-07-28 | 2022-10-11 | 浪潮商用机器有限公司 | 一种硬盘监控方法、装置及硬盘 |
-
2022
- 2022-12-21 TW TW111149312A patent/TWI835479B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991853A (zh) * | 2015-07-22 | 2015-10-21 | 北京京东尚科信息技术有限公司 | 一种输出预警信息的方法和装置 |
CN108958891A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种虚拟机内存分配方法、装置及终端 |
CN112783711A (zh) * | 2019-11-01 | 2021-05-11 | 福建省天奕网络科技有限公司 | NodeJS上程序内存分析的方法、存储介质 |
TW202215242A (zh) * | 2020-10-14 | 2022-04-16 | 大陸商中國銀聯股份有限公司 | 基於機器學習的資料即時監控方法以及裝置 |
CN114416411A (zh) * | 2022-01-14 | 2022-04-29 | 杭州迪普科技股份有限公司 | 内存故障检测方法及装置 |
CN115168156A (zh) * | 2022-07-28 | 2022-10-11 | 浪潮商用机器有限公司 | 一种硬盘监控方法、装置及硬盘 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7971112B2 (en) | Memory diagnosis method | |
US6892378B2 (en) | Method to detect unbounded growth of linked lists in a running application | |
EP3660681A1 (en) | Memory fault detection method and device, and server | |
US20050160326A1 (en) | Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM) | |
US11775407B2 (en) | Diagnosing and mitigating memory leak in computing nodes | |
CN112306732B (zh) | 一种服务器中的自动纠错控制方法、装置、设备及介质 | |
US11310140B2 (en) | Mitigating failure in request handling | |
CN112395122B (zh) | 闪存控制器及闪存控制器的方法 | |
CN115981898A (zh) | 一种内存可纠错误处理方法、装置、设备及可读存储介质 | |
WO2011015135A1 (zh) | 一种***故障检测的方法及装置 | |
TWI835479B (zh) | 電子裝置及記憶體管理方法 | |
TWI518680B (zh) | 維護電腦系統之檔案系統的方法 | |
CN111984452A (zh) | 程序故障检测方法、装置、电子设备以及存储介质 | |
US20210004499A1 (en) | Method and data processing system for detecting a malicious component on an integrated circuit | |
CN112115048A (zh) | 内存泄露检测方法、装置、电子设备及可读存储介质 | |
CN116302744A (zh) | 一种信号冲突验证方法、装置、设备及存储介质 | |
CN109522188A (zh) | 一种***预警方法、装置和计算机可读存储介质 | |
CN118260170A (zh) | 电子装置及内存管理方法 | |
CN114564903A (zh) | 一种芯片仿真设计验证方法、装置、设备及介质 | |
WO2021078222A1 (zh) | 对象存储***中对象主副本文件的确定方法及装置 | |
CN113064765A (zh) | 节点异常处理方法、装置、电子设备及机器可读存储介质 | |
CN111694715A (zh) | 一种异常告警方法、装置、设备及机器可读存储介质 | |
CN117116332B (zh) | 一种多比特错误处理方法、装置、服务器及存储介质 | |
CN117874772B (zh) | 应用软件漏洞扫描方法及*** | |
TWI426379B (zh) | 電腦系統錯誤偵測系統及方法 |