[發明專利]內存錯誤處理方法、裝置及服務器在審
| 申請號: | 202010464731.7 | 申請日: | 2020-05-27 |
| 公開(公告)號: | CN111625387A | 公開(公告)日: | 2020-09-04 |
| 發明(設計)人: | 陳國民 | 申請(專利權)人: | 北京金山云網絡技術有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07 |
| 代理公司: | 北京超凡宏宇專利代理事務所(特殊普通合伙) 11463 | 代理人: | 徐麗 |
| 地址: | 100000 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 錯誤 處理 方法 裝置 服務器 | ||
本發明提供了一種內存錯誤處理方法、裝置及服務器,涉及計算機技術領域,該方法包括:當接收到內存錯誤的報錯信息時,獲取當前系統狀態信息;根據該當前系統狀態信息,判斷該內存錯誤是否被硬件恢復,得到判斷結果;進而根據該判斷結果和該報錯信息,確定針對該內存錯誤的處理措施,以通過該處理措施處理該內存錯誤。本發明實施例通過對內存錯誤對應的使用進程類型進行細分,并針對不同類型使用進程的內存錯誤進行相應處理,可以降低內存錯誤對云服務的影響,提高云服務的穩定性。
技術領域
本發明涉及計算機技術領域,尤其是涉及一種內存錯誤處理方法、裝置及服務器。
背景技術
穩定性是云服務的基礎,公有云廠商的核心競爭力。為了提升系統的穩定性,云廠商需要對服務器硬件問題導致的各種非預期的宕機問題進行處理。
為了避免由內存故障引起服務器宕機,當前主要的可實時檢測并及時處理內存故障的方法,是通過intel MCA Recovery的機制,實時的感知到內存故障并對其進行處理;但該方式粒度太大,只能進行日志記錄,內存下線隔離,殺掉進程和系統宕機;當記錄到內存錯誤日志時,該方式需通過自動或者手動進行虛擬機的完全遷移。
可見,現有的內存錯誤處理方法的粒度較大,云服務受內存故障影響仍然較大,導致云服務的穩定性較差。
發明內容
有鑒于此,本發明的目的在于提供一種內存錯誤處理方法、裝置及服務器,可以及時地對內存錯誤進行更細粒度的分類處理,進一步降低內存錯誤對云服務的影響,提高云服務的穩定性。
第一方面,本發明實施例提供了一種內存錯誤處理方法,包括:當接收到內存錯誤的報錯信息時,獲取當前系統狀態信息;根據該當前系統狀態信息,判斷該內存錯誤是否被硬件恢復,得到判斷結果;根據該判斷結果和該報錯信息,確定針對該內存錯誤的處理措施,以通過該處理措施處理該內存錯誤。
在本發明較佳的實施例中,上述報錯信息包括內存錯誤地址和內存錯誤類型;上述根據該判斷結果和該報錯信息,確定針對該內存錯誤的處理措施的步驟,包括:如果該內存錯誤被硬件恢復,確定該內存錯誤地址所屬的內存塊;根據該內存塊的歷史錯誤日志,確定該內存塊的出錯次數;如果該出錯次數大于預設次數閾值,將該內存塊下線,并記錄錯誤日志。
在本發明較佳的實施例中,該方法還包括:如果該出錯次數小于預設次數閾值,記錄錯誤日志,該錯誤日志的內容包括該內存錯誤地址和該內存錯誤類型。
在本發明較佳的實施例中,該報錯信息包括內存錯誤地址和內存錯誤類型;上述根據該判斷結果和該報錯信息,確定針對該內存錯誤的處理措施的步驟,包括:如果該內存錯誤沒有被硬件恢復,查找該內存錯誤地址對應的使用進程;根據該使用進程的進程類型,確定針對該內存錯誤的處理措施;其中,該進程類型包括用戶空間進程、操作系統內核進程和虛擬機進程。
在本發明較佳的實施例中,上述根據該使用進程的進程類型,確定針對該內存錯誤的處理措施的步驟,包括:如果該進程類型為用戶空間進程,根據預設的進程優先級等級,判斷該使用進程是否為關鍵服務進程;如果不是關鍵服務進程,記錄錯誤日志,向該使用進程發送終止信號,并把該使用進程對應的內存葉下線隔離。
在本發明較佳的實施例中,該方法還包括:如果該使用進程是關鍵服務進程,記錄錯誤日志,向該使用進程發送終止信號,并把該使用進程對應的內存葉下線隔離;重啟該使用進程。
在本發明較佳的實施例中,上述根據該使用進程的進程類型,確定針對該內存錯誤的處理措施的步驟,包括:如果該進程類型為操作系統內核進程,向用戶返回系統錯誤信息;重啟操作系統。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京金山云網絡技術有限公司,未經北京金山云網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010464731.7/2.html,轉載請聲明來源鉆瓜專利網。





