System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 无码人妻精品一区二区三区99仓本,无码孕妇孕交在线观看,久久久久久亚洲精品无码
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    內(nèi)存溢出的處理方法、裝置、車輛、設備及介質(zhì)制造方法及圖紙

    技術(shù)編號:43967903 閱讀:7 留言:0更新日期:2025-01-10 19:57
    本公開涉及一種內(nèi)存溢出的處理方法、裝置、車輛、設備及介質(zhì),上述方法包括:在內(nèi)核態(tài)檢測是否發(fā)生內(nèi)存溢出;響應于檢測到內(nèi)存溢出,將內(nèi)存溢出的處理權(quán)從內(nèi)核的內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到仲裁進程,使得上述仲裁進程進行內(nèi)存溢出的處理;上述仲裁進程為后臺運行的用戶態(tài)進程并具有管控其他進程的權(quán)限。由用戶態(tài)進程接管內(nèi)存溢出的處理權(quán),相當于將內(nèi)核態(tài)進程決策結(jié)束哪個進程的決策權(quán)轉(zhuǎn)移給了用戶態(tài)進程,由于用戶態(tài)進程與內(nèi)核態(tài)進程之間是隔離的,避免內(nèi)核態(tài)進程在內(nèi)存溢出處理過程中發(fā)生內(nèi)核錯誤引起的系統(tǒng)級別的問題或?qū)е孪到y(tǒng)不穩(wěn)定等,能夠提升操作系統(tǒng)的魯棒性。

    【技術(shù)實現(xiàn)步驟摘要】

    本公開涉及操作系統(tǒng)和車輛領(lǐng)域,尤其涉及一種內(nèi)存溢出的處理方法、裝置、車輛、設備及介質(zhì)


    技術(shù)介紹

    1、隨著智能設備的功能增多和數(shù)據(jù)量越來越大,智能設備上的應用所需的運行空間和存儲空間也越來越大。在智能設備的操作系統(tǒng)中運行較多的應用進程時,會出現(xiàn)內(nèi)存溢出(oom,out?of?memory)的現(xiàn)象。內(nèi)存溢出是指有些應用進程中存在無法回收的內(nèi)存或使用的內(nèi)存過多,其它應用進程申請分配內(nèi)存時系統(tǒng)會優(yōu)先強制退出占用內(nèi)存較大的當前進程以減輕系統(tǒng)負擔;或者當前應用進程再次申請內(nèi)存時,因系統(tǒng)無法分配更多內(nèi)存而拋出異常,使得當前應用進程退出。


    技術(shù)實現(xiàn)思路

    1、在研發(fā)中發(fā)現(xiàn)相關(guān)技術(shù)存在以下技術(shù)問題:目前針對內(nèi)存溢出的處理方案基本都是由內(nèi)核配置各個應用進程的得分策略或進程優(yōu)先級,在內(nèi)存溢出時由內(nèi)核態(tài)進程選擇得分較高或較低、或優(yōu)先級較低的進程進行結(jié)束(kill);然而在上述過程中如果上述內(nèi)核態(tài)進程發(fā)生內(nèi)核錯誤(panic),則會引起系統(tǒng)級別的問題,導致整個系統(tǒng)的運行受影響。

    2、為克服相關(guān)技術(shù)中存在的問題,本公開提供一種內(nèi)存溢出的處理方法、裝置、車輛、設備及介質(zhì)。

    3、根據(jù)本公開實施例的第一方面,提供一種內(nèi)存溢出的處理方法。上述方法包括:在內(nèi)核態(tài)檢測是否發(fā)生內(nèi)存溢出;響應于檢測到內(nèi)存溢出,將內(nèi)存溢出的處理權(quán)從內(nèi)核的內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到仲裁進程,使得上述仲裁進程進行內(nèi)存溢出的處理;其中,上述仲裁進程為后臺運行的用戶態(tài)進程并具有管控其他進程的權(quán)限。

    4、在一些實施例中,上述將內(nèi)存溢出的處理權(quán)從內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到仲裁進程,使得上述仲裁進程進行內(nèi)存溢出的處理,包括:上述內(nèi)存溢出處理函數(shù)獲取仲裁進程對應的功能開關(guān)狀態(tài);響應于上述功能開關(guān)狀態(tài)指示上述仲裁進程的功能開啟,上述內(nèi)存溢出處理函數(shù)向上述仲裁進程發(fā)送處理權(quán)轉(zhuǎn)移信號;上述仲裁進程在接收到上述處理權(quán)轉(zhuǎn)移信號后,根據(jù)預先配置的進程管控策略來確定目標進程,并結(jié)束上述目標進程以釋放對應資源。

    5、在一些實施例中,上述處理權(quán)轉(zhuǎn)移信號用于指示由上述仲裁進程進行上述內(nèi)存溢出的處理,而不再繼續(xù)執(zhí)行上述內(nèi)存溢出處理函數(shù)自帶的默認處理邏輯。

    6、在一些實施例中,上述方法還包括:創(chuàng)建用于進行內(nèi)核態(tài)和用戶態(tài)通信的接口對象;上述接口對象包含:用于存放仲裁進程對應的功能開關(guān)狀態(tài)的第一接口對象;用于存放仲裁進程的進程標識的第二接口對象;其中,上述內(nèi)存溢出處理函數(shù)獲取仲裁進程對應的功能開關(guān)狀態(tài),包括:上述內(nèi)存溢出處理函數(shù)從上述第一接口對象中獲取預先配置的仲裁進程對應的功能開關(guān)狀態(tài);上述內(nèi)存溢出處理函數(shù)向上述仲裁進程發(fā)送處理權(quán)轉(zhuǎn)移信號,包括:上述內(nèi)存溢出處理函數(shù)從上述第二接口對象中獲取預先配置的仲裁進程的進程標識;根據(jù)上述進程標識,上述內(nèi)存溢出處理函數(shù)向上述仲裁進程發(fā)送處理權(quán)轉(zhuǎn)移信號。

    7、在一些實施例中,上述方法還包括:加載用戶態(tài)仲裁功能配置文件;其中,上述用戶態(tài)仲裁功能配置文件中包含:針對仲裁進程對應的功能開關(guān)狀態(tài)是否開啟進行設置的第一配置信息、針對仲裁進程的進程標識進行設置的第二配置信息和針對內(nèi)存溢出發(fā)生后實施的進程管控策略進行設置的第三配置信息;在啟動并初始化仲裁進程的過程中,解析上述用戶態(tài)仲裁功能配置文件得到上述第一配置信息、上述第二配置信息和上述第三配置信息,將上述第一配置信息和上述第二配置信息寫入至內(nèi)核態(tài)和用戶態(tài)通信的接口對象中,并根據(jù)上述第三配置信息對上述仲裁進程的進程管控策略進行配置。

    8、在一些實施例中,上述方法還包括以下至少一種:響應于上述功能開關(guān)狀態(tài)指示上述仲裁進程的功能關(guān)閉,執(zhí)行上述內(nèi)存溢出處理函數(shù)自帶的默認處理邏輯;其中,上述默認處理邏輯是內(nèi)核配置的針對內(nèi)存溢出的處理邏輯;或者,在上述仲裁進程根據(jù)預先配置的進程管控策略得不到目標進程的情況下,上述仲裁進程向上述內(nèi)存溢出處理函數(shù)發(fā)送處理權(quán)退回信號;上述內(nèi)存溢出處理函數(shù)在接收到上述處理權(quán)退回信號后,執(zhí)行上述內(nèi)存溢出處理函數(shù)自帶的默認處理邏輯。

    9、在一些實施例中,上述方法還包括:在檢測到上述仲裁進程由于故障或異常導致終止,基于重啟機制,對上述仲裁進程進行至少一次重啟;在上述仲裁進程重啟成功后,上述仲裁進程繼續(xù)執(zhí)行之前的處理任務;在上述仲裁進程基于重啟機制重啟失敗后,上述仲裁進程向上述內(nèi)存溢出處理函數(shù)發(fā)送處理權(quán)退回信號;上述內(nèi)存溢出處理函數(shù)在接收到上述處理權(quán)退回信號后,執(zhí)行上述內(nèi)存溢出處理函數(shù)自帶的默認處理邏輯;或者,在上述仲裁進程基于重啟機制重啟失敗后,在前端顯示界面進行以下信息的提示:上述仲裁進程終止和內(nèi)存溢出處理報錯。

    10、在一些實施例中,上述方法應用于linux操作系統(tǒng);在上述linux操作系統(tǒng)中,改造上述內(nèi)存溢出處理函數(shù),包括:通過將上述內(nèi)存溢出處理函數(shù)中具有內(nèi)存溢出的處理權(quán)的結(jié)束進程選擇對象賦值為上述仲裁進程的進程標識,以將內(nèi)存溢出的處理權(quán)從內(nèi)核的內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到上述仲裁進程,使得上述仲裁進程進行內(nèi)存溢出的處理。

    11、在一些實施例中,上述方法還包括:在上述linux操作系統(tǒng)的內(nèi)核源碼的主文件中定義第一全局變量和第二全局變量,上述第一全局變量表示上述仲裁進程對應的功能開關(guān)狀態(tài),上述第二全局變量表示上述仲裁進程的進程標識;在上述linux操作系統(tǒng)的proc文件中創(chuàng)建第一接口對象和第二接口對象,上述第一接口對象用于存放上述功能開關(guān)狀態(tài),上述第二接口對象用于存放上述進程標識;其中,在上述功能開關(guān)狀態(tài)指示上述仲裁進程的功能開啟的情況下,執(zhí)行以下步驟:將上述內(nèi)存溢出處理函數(shù)中具有內(nèi)存溢出的處理權(quán)的結(jié)束進程選擇對象賦值為上述仲裁進程的進程標識。

    12、根據(jù)本公開實施例的第二方面,提供一種內(nèi)存溢出的處理裝置。上述裝置包括:檢測模塊和處理權(quán)轉(zhuǎn)移模塊。上述檢測模塊用于在內(nèi)核態(tài)檢測是否發(fā)生內(nèi)存溢出。上述處理權(quán)轉(zhuǎn)移模塊用于響應于檢測到內(nèi)存溢出,將內(nèi)存溢出的處理權(quán)從內(nèi)核的內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到仲裁進程,使得上述仲裁進程進行內(nèi)存溢出的處理。其中,上述仲裁進程為后臺運行的用戶態(tài)進程并具有管控其他進程的權(quán)限。

    13、在一些實施例中,上述處理權(quán)轉(zhuǎn)移模塊包括:狀態(tài)獲取模塊、信號發(fā)送模塊、信號接收模塊和進程管控模塊。上述狀態(tài)獲取模塊,位于上述內(nèi)存溢出處理函數(shù)中,用于響應于檢測到內(nèi)存溢出,獲取仲裁進程對應的功能開關(guān)狀態(tài)。上述信號發(fā)送模塊,位于上述內(nèi)存溢出處理函數(shù)中,用于響應于上述功能開關(guān)狀態(tài)指示上述仲裁進程的功能開啟,向上述仲裁進程發(fā)送處理權(quán)轉(zhuǎn)移信號。上述信號接收模塊,位于上述仲裁進程中,用于接收上述處理權(quán)轉(zhuǎn)移信號。上述進程管控模塊,位于上述仲裁進程中,用于在接收到上述處理權(quán)轉(zhuǎn)移信號后,根據(jù)預先配置的進程管控策略來確定目標進程,并結(jié)束上述目標進程以釋放對應資源。

    14、根據(jù)本公開實施例的第三方面,提供一種車輛,存儲有一組指令集,上述指令集被上述車輛執(zhí)行,以實現(xiàn)本公開第一方面所提供的內(nèi)存溢出的處理方法。

    15、根據(jù)本公開實施例的第四方面,提供一種電子設備,包括:處理器;用于存儲上述處理器可執(zhí)行指令的本文檔來自技高網(wǎng)...

    【技術(shù)保護點】

    1.一種內(nèi)存溢出的處理方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將內(nèi)存溢出的處理權(quán)從內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到仲裁進程,使得所述仲裁進程進行內(nèi)存溢出的處理,包括:

    3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述處理權(quán)轉(zhuǎn)移信號用于指示由所述仲裁進程進行所述內(nèi)存溢出的處理,而不再繼續(xù)執(zhí)行所述內(nèi)存溢出處理函數(shù)自帶的默認處理邏輯。

    4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:

    5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,還包括:

    6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括以下至少一種:

    7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:

    8.根據(jù)權(quán)利要求1-4、6或7中任一項所述的方法,其特征在于,所述方法應用于Linux操作系統(tǒng);

    9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述方法還包括:

    10.一種內(nèi)存溢出的處理裝置,其特征在于,包括:

    11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述處理權(quán)轉(zhuǎn)移模塊包括:狀態(tài)獲取模塊、信號發(fā)送模塊、信號接收模塊和進程管控模塊;

    12.一種車輛,其特征在于,存儲有一組指令集,所述指令集被所述車輛執(zhí)行,以實現(xiàn)所述權(quán)利要求1-9中任一所述的方法。

    13.一種電子設備,其特征在于,包括:

    14.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序指令,其特征在于,該程序指令被處理器執(zhí)行時,以實現(xiàn)所述權(quán)利要求1-9中任一所述的方法的步驟。

    ...

    【技術(shù)特征摘要】

    1.一種內(nèi)存溢出的處理方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將內(nèi)存溢出的處理權(quán)從內(nèi)存溢出處理函數(shù)轉(zhuǎn)移到仲裁進程,使得所述仲裁進程進行內(nèi)存溢出的處理,包括:

    3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述處理權(quán)轉(zhuǎn)移信號用于指示由所述仲裁進程進行所述內(nèi)存溢出的處理,而不再繼續(xù)執(zhí)行所述內(nèi)存溢出處理函數(shù)自帶的默認處理邏輯。

    4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:

    5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,還包括:

    6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括以下至少一種:

    7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:

    8.根據(jù)權(quán)利要求1-...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:劉新朋,謝寶友,
    申請(專利權(quán))人:國科礎(chǔ)石重慶軟件有限公司,
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 免费A级毛片无码A∨免费| 国产精品无码久久综合| 无码成人精品区在线观看| 亚洲国产精品无码中文lv| 无码国产精品一区二区高潮| 国产亚洲?V无码?V男人的天堂 | 亚洲人成人无码网www电影首页| 国产成人A人亚洲精品无码| 国产精品白浆无码流出| JAVA性无码HD中文| 国产热の有码热の无码视频| 无码天堂va亚洲va在线va| 毛片免费全部播放无码| 亚洲成av人片在线观看无码不卡| 久久精品日韩av无码| 亚洲AV无码一区二区三区人 | 亚洲精品无码日韩国产不卡?V| 色综合久久中文字幕无码| 久久国产精品无码一区二区三区| 亚洲av无码成人精品区在线播放| 亚洲AV无码专区在线亚| 熟妇人妻无码中文字幕| 无码一区二区三区免费| 亚洲精品无码久久久久| 国产成人无码免费看片软件| 免费人妻av无码专区| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 日韩AV无码不卡网站| 黑人巨大无码中文字幕无码| 亚洲日韩看片无码电影| 亚洲国产精品无码第一区二区三区 | 亚洲欧洲免费无码| 伊人久久精品无码麻豆一区| 精品国产一区二区三区无码 | 东京热一精品无码AV| 免费无码黄网站在线观看| 无码 免费 国产在线观看91| 精品无码国产自产拍在线观看蜜| 国产成人精品一区二区三区无码 | 秋霞鲁丝片Av无码少妇| 日韩精品无码一区二区三区 |