99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

重新內(nèi)存分配的改變讓Firefox崩潰次數(shù)降低70%

OSC開源社區(qū) ? 來(lái)源: OSC開源社區(qū) ? 作者: OSC開源社區(qū) ? 2022-11-29 15:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

用戶在 Windows 平臺(tái)上使用 Firefox 時(shí),遇到的最常見的不穩(wěn)定原因就是崩潰,而且這一現(xiàn)象在 Windows 平臺(tái)上的嚴(yán)重程度遠(yuǎn)高于 Linux 和 macOS。因此,Mozilla 花了大量的資源來(lái)減少 Firefox 的內(nèi)存消耗,并仔細(xì)監(jiān)測(cè)這些變化。然而,Mozilla 近日透露,他們此前所作出的所有努力都不如他們?cè)?Firefox 105 中部署的一個(gè)小改變有效。

首先,要了解為什么在 Windows 上運(yùn)行的應(yīng)用程序與其他操作系統(tǒng)相比更容易耗盡內(nèi)存產(chǎn)生崩潰,就必須了解 Windows 如何處理內(nèi)存。 所有的現(xiàn)代操作系統(tǒng)都允許應(yīng)用程序分配一塊地址空間。最初在沒有數(shù)據(jù)被存儲(chǔ)在其中時(shí),這些塊只代表沒有物理內(nèi)存支持的地址范圍。當(dāng)一個(gè)應(yīng)用程序開始使用它所保留的地址空間時(shí),操作系統(tǒng)將拿出一塊物理內(nèi)存來(lái)支持它,如果需要的話,可能會(huì)交換掉一些現(xiàn)有的數(shù)據(jù)。Linux 和 macOS 都是這樣工作的,Windows 也是如此,只是與其他操作系統(tǒng)相比,Windows 需要執(zhí)行一個(gè)額外的步驟。 在一個(gè)應(yīng)用程序請(qǐng)求了一塊地址空間之后,應(yīng)用需要在能夠使用它之前提交使用范圍,這個(gè)范圍需要 Windows 保證它總是能夠找到物理內(nèi)存來(lái)支持它。之后,Windows 的行為就像 Linux 和 macOS 一樣沒什么區(qū)別了。

因此,Windows 限制了可以提交的內(nèi)存大小,即機(jī)器的物理內(nèi)存加上交換文件的大小之和。 提交空間(commit space)是應(yīng)用面對(duì)的硬限制,只要達(dá)到這個(gè)限制,內(nèi)存分配就會(huì)失敗。

Firefox 開發(fā)者在分析瀏覽器崩潰問題時(shí)發(fā)現(xiàn),在很多情況下發(fā)生崩潰時(shí),用戶設(shè)備上的可用物理內(nèi)存仍然很多,但提交空間卻耗盡了。 因此他們決定采用一些技巧來(lái)規(guī)避這一問題,也就是當(dāng)內(nèi)存分配失敗時(shí),瀏覽器不是立即崩潰,而是先等待下,然后嘗試重新內(nèi)存分配。雖然這會(huì)導(dǎo)致瀏覽器卡住短暫的幾分之一秒,但遠(yuǎn)比徹底崩潰好得多(當(dāng)交換文件快滿時(shí),Windows 會(huì)自動(dòng)調(diào)整它的大小,增加可用的提交空間)。 Mozilla 在 Firefox 105 中應(yīng)用了這一改變,顯著改進(jìn)了瀏覽器的穩(wěn)定性。

下面的圖表顯示了用戶在每一個(gè)活躍的使用小時(shí)中經(jīng)歷了多少次內(nèi)存耗盡的瀏覽器崩潰(崩潰次數(shù)減少了 70% 以上,遠(yuǎn)遠(yuǎn)超過了 Mozilla 當(dāng)初的預(yù)測(cè))。

139da720-6e52-11ed-8abf-dac502259ad0.png

Mozilla 表示,雖然他們已經(jīng)在 Firefox 105 中實(shí)現(xiàn)了這項(xiàng)改進(jìn),但實(shí)際上這項(xiàng)改進(jìn)還沒有徹底完成,因?yàn)槟壳把泳徶鬟M(jìn)程會(huì)導(dǎo)致標(biāo)簽頁(yè)崩潰次數(shù)小幅增加,這對(duì)用戶來(lái)說也是不愉快的使用體驗(yàn),雖然沒有完整的瀏覽器崩潰那么煩人,但團(tuán)隊(duì)依然在嘗試減少這樣的情況發(fā)生。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3123

    瀏覽量

    75259
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3613

    瀏覽量

    91399
  • Firefox
    +關(guān)注

    關(guān)注

    0

    文章

    97

    瀏覽量

    14014

原文標(biāo)題:一個(gè)小改變,讓Firefox崩潰次數(shù)降低70%

文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)APP頻繁崩潰?聚徽廠家分享安卓工控機(jī)內(nèi)存碎片化與進(jìn)程管理優(yōu)化指南

    與進(jìn)程管理兩大核心維度,深入剖析崩潰根源,并提出系統(tǒng)性優(yōu)化方案。 一、內(nèi)存碎片化:工業(yè)APP崩潰的隱形推手 1. 內(nèi)存碎片化的成因與危害 內(nèi)存
    的頭像 發(fā)表于 06-10 10:24 ?95次閱讀

    如何避免存儲(chǔ)示波器再次崩潰?

    制定SOP文檔、定期巡檢1個(gè)月內(nèi)低 低硬件冗余設(shè)計(jì)、預(yù)防性更換6個(gè)月內(nèi)高 2. 效果評(píng)估 指標(biāo): 崩潰頻率降低≥80%。 數(shù)據(jù)恢復(fù)成功率提升至95%以上。 工具:通過故障數(shù)據(jù)庫(kù)統(tǒng)計(jì)崩潰次數(shù)
    發(fā)表于 05-23 14:47

    HarmonyOS優(yōu)化應(yīng)用內(nèi)存占用問題性能優(yōu)化一

    一、 概述 用戶功能的不斷增強(qiáng),應(yīng)用越來(lái)越復(fù)雜,占用的內(nèi)存也在不斷膨脹,而內(nèi)存作為系統(tǒng)的稀缺資源比較有限,當(dāng)應(yīng)用程序占用過多內(nèi)存時(shí),系統(tǒng)可能會(huì)頻繁進(jìn)行內(nèi)存回收和
    發(fā)表于 05-21 11:27

    如何使用LAX_CODEGEN啟用動(dòng)態(tài)內(nèi)存分配

    我目前正在探索NXP_MBDToolbox_LAX。lax_codegen 生成的代碼基于靜態(tài)分配。我想管理大型向量,如何使用 LAX_CODEGEN 啟用動(dòng)態(tài)內(nèi)存分配?
    發(fā)表于 04-10 08:09

    如何查看S32DS中S32平臺(tái)的內(nèi)存分配?

    大家好,我正在使用 s32DS for s32 平臺(tái),我想查看我的項(xiàng)目的內(nèi)存分配。我想知道分配給對(duì)象的內(nèi)存以及它們被分配到哪里,例如 SRA
    發(fā)表于 04-09 07:30

    golang內(nèi)存分配

    作者:錢文 Go 的分配采用了類似 tcmalloc 的結(jié)構(gòu).特點(diǎn): 使用一小塊一小塊的連續(xù)內(nèi)存頁(yè), 進(jìn)行分配某個(gè)范圍大小的內(nèi)存需求. 比如某個(gè)連續(xù) 8KB 專門用于
    的頭像 發(fā)表于 03-31 15:00 ?183次閱讀
    golang<b class='flag-5'>內(nèi)存</b><b class='flag-5'>分配</b>

    S32G3板卡上內(nèi)核崩潰后自動(dòng)重啟怎么解決?

    我目前正在將我的 S32G3 板配置為在內(nèi)核崩潰后自動(dòng)重啟。但是,盡管在 sysctl.conf 文件中進(jìn)行了必要的更改并觸發(fā)了重啟,但開發(fā)板并未按預(yù)期執(zhí)行自動(dòng)重啟。它顯示消息“Rebooting
    發(fā)表于 03-31 08:26

    使用OpenVINO?進(jìn)行推理時(shí)的內(nèi)存泄漏怎么解決?

    使用 OpenVINO? 進(jìn)行推理時(shí),內(nèi)存會(huì)隨著時(shí)間的推移而增加,并導(dǎo)致程序崩潰。
    發(fā)表于 03-06 08:29

    使用DevEco Studio高效解決鴻蒙原生應(yīng)用內(nèi)存問題

    在鴻蒙原生應(yīng)用開發(fā)過程中,可能由于種種原因?qū)е聭?yīng)用內(nèi)存未被正常地使用或者歸還至操作系統(tǒng),從而引發(fā)內(nèi)存異常占用、內(nèi)存泄漏等問題,最終導(dǎo)致應(yīng)用卡頓甚至崩潰,嚴(yán)重影響用戶體驗(yàn)。
    的頭像 發(fā)表于 01-16 14:44 ?727次閱讀

    Firefox、Chrome和Puppeteer已支持WebDriver BiDi

    近期,我們與 BrowserStack 一起見證了 WebDriver BiDi 在 BrowserStack 中正式投入使用。并且 WebDriver BiDi 也繼續(xù)得到了完善,Firefox
    的頭像 發(fā)表于 11-06 16:35 ?991次閱讀

    轉(zhuǎn)載 golang內(nèi)存分配

    Go 的分配采用了類似 tcmalloc 的結(jié)構(gòu).特點(diǎn): 使用一小塊一小塊的連續(xù)內(nèi)存頁(yè), 進(jìn)行分配某個(gè)范圍大小的內(nèi)存需求. 比如某個(gè)連續(xù) 8KB 專門用于
    的頭像 發(fā)表于 09-05 14:12 ?492次閱讀
    轉(zhuǎn)載 golang<b class='flag-5'>內(nèi)存</b><b class='flag-5'>分配</b>

    如何自定義內(nèi)存控制器的設(shè)置

    在FreeRTOS中自定義內(nèi)存控制器的設(shè)置,主要涉及到內(nèi)存分配策略的選擇和配置。FreeRTOS提供了多種內(nèi)存分配策略,如heap_1、he
    的頭像 發(fā)表于 09-02 14:28 ?927次閱讀

    堆棧和內(nèi)存的基本知識(shí)

    本文主要聊聊關(guān)于堆棧的內(nèi)容。包括堆棧和內(nèi)存的基本知識(shí)。常見和堆棧相關(guān)的 bug,如棧溢出,內(nèi)存泄漏,堆內(nèi)存分配失敗等。后面介紹軟件中堆棧統(tǒng)計(jì)的重要性,以及如何使用工具工具軟件中堆棧使用
    的頭像 發(fā)表于 08-29 14:10 ?1044次閱讀
    堆棧和<b class='flag-5'>內(nèi)存</b>的基本知識(shí)

    如何檢測(cè)內(nèi)存泄漏

    檢測(cè)內(nèi)存泄漏是軟件開發(fā)過程中一項(xiàng)至關(guān)重要的任務(wù),它有助于識(shí)別和解決那些導(dǎo)致程序占用過多內(nèi)存資源,從而影響程序性能甚至導(dǎo)致程序崩潰的問題。以下將詳細(xì)闡述幾種常見的內(nèi)存泄漏檢測(cè)方法,每種方
    的頭像 發(fā)表于 07-30 11:50 ?3490次閱讀

    NAND Flash的擦寫次數(shù)介紹

    NAND Flash作為非易失性存儲(chǔ)技術(shù)的重要一員,其擦寫次數(shù)是評(píng)估其性能和壽命的關(guān)鍵因素之一。以下將詳細(xì)介紹NAND Flash的擦寫次數(shù),包括其定義、不同類型NAND Flash的擦寫次數(shù)、影響因素、延長(zhǎng)壽命的技術(shù)以及市場(chǎng)趨
    的頭像 發(fā)表于 07-29 17:18 ?5576次閱讀