国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

重新內存分配的改變讓Firefox崩潰次數降低70%

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

掃碼添加小助手

加入工程師交流群

用戶在 Windows 平臺上使用 Firefox 時,遇到的最常見的不穩定原因就是崩潰,而且這一現象在 Windows 平臺上的嚴重程度遠高于 Linux 和 macOS。因此,Mozilla 花了大量的資源來減少 Firefox 的內存消耗,并仔細監測這些變化。然而,Mozilla 近日透露,他們此前所作出的所有努力都不如他們在 Firefox 105 中部署的一個小改變有效。

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

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

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

下面的圖表顯示了用戶在每一個活躍的使用小時中經歷了多少次內存耗盡的瀏覽器崩潰(崩潰次數減少了 70% 以上,遠遠超過了 Mozilla 當初的預測)。

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

Mozilla 表示,雖然他們已經在 Firefox 105 中實現了這項改進,但實際上這項改進還沒有徹底完成,因為目前延緩主進程會導致標簽頁崩潰次數小幅增加,這對用戶來說也是不愉快的使用體驗,雖然沒有完整的瀏覽器崩潰那么煩人,但團隊依然在嘗試減少這樣的情況發生。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    9

    文章

    3209

    瀏覽量

    76358
  • WINDOWS
    +關注

    關注

    4

    文章

    3702

    瀏覽量

    94014
  • Firefox
    +關注

    關注

    0

    文章

    97

    瀏覽量

    14337

原文標題:一個小改變,讓Firefox崩潰次數降低70%

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    keil中c語言的動態分配內存

    在C程序中,通常將內存劃分為以下六個區域: (1)內核區域。這塊區域是操作系統的,用戶不能使用。 (2)棧區。主要用于存放運行函數而分配的局部變量、函數參數、返回數據、返回地址等。棧內存分配
    發表于 01-21 06:04

    【「Linux 設備驅動開發(第 2 版)」閱讀體驗】+讀深入理解Linux內核內存分配

    每個內存地址是虛擬的,不是直接指向RAM中的任何地址。當用戶訪問內存中的存儲單元時,都會進行地址轉換以匹配相應的物理內存。書籍的第10章討論了五個主題,對Linux內核內存
    發表于 01-16 20:05

    嵌入式系統中,動態分配內存可能發生的問題是什么?

    盡管不像非嵌入式計算機那么常見,嵌入式系統還是有從堆(heap)中動態分配內存的過程的。 那么嵌入式系統中,動態分配內存可能發生的問題是什么? 這 里,我期望應試者能提到
    發表于 12-22 09:42

    為什么單片機中很少使用malloc,而PC程序頻繁使用呢?

    (如Linux、Windows)會通過虛擬內存內存分頁和內存保護機制管理內存,極大地降低了由于動態分配
    發表于 11-20 06:55

    FAQ_MA35_Family M4 RAM如何調整M4的內存分配

    FAQ_MA35_Family M4 RAM如何調整M4的內存分配
    發表于 09-02 06:07

    靈活高效雙引擎驅動:ZBUFFC語言內存操作更智能!

    ZBUFF庫深度融合了智能內存分配算法與實時監測機制,能夠自動適應不同場景下的內存需求。其自適應碎片整理功能和錯誤檢測模塊,不僅保障了內存使用的高效性,更大幅
    的頭像 發表于 08-11 13:27 ?589次閱讀
    靈活高效雙引擎驅動:ZBUFF<b class='flag-5'>讓</b>C語言<b class='flag-5'>內存</b>操作更智能!

    工業APP頻繁崩潰?聚徽廠家分享安卓工控機內存碎片化與進程管理優化指南

    與進程管理兩大核心維度,深入剖析崩潰根源,并提出系統性優化方案。 一、內存碎片化:工業APP崩潰的隱形推手 1. 內存碎片化的成因與危害 內存
    的頭像 發表于 06-10 10:24 ?526次閱讀

    如何避免存儲示波器再次崩潰?

    制定SOP文檔、定期巡檢1個月內低 低硬件冗余設計、預防性更換6個月內高 2. 效果評估 指標: 崩潰頻率降低≥80%。 數據恢復成功率提升至95%以上。 工具:通過故障數據庫統計崩潰次數
    發表于 05-23 14:47

    HarmonyOS優化應用內存占用問題性能優化一

    一、 概述 用戶功能的不斷增強,應用越來越復雜,占用的內存也在不斷膨脹,而內存作為系統的稀缺資源比較有限,當應用程序占用過多內存時,系統可能會頻繁進行內存回收和
    發表于 05-21 11:27

    降低開關電源變壓器損耗的辦法

    面積),增加初次級相鄰面(會增加初次級分布電容),減小初次級距離(會增加初次級 分布電容),線圈疏饒等; 4、改變電路工作參數以減少交流電阻,比如降低開關頻率,但是會增加磁心的磁通密 度而增加鐵損,當
    發表于 04-16 14:49

    如何使用LAX_CODEGEN啟用動態內存分配

    我目前正在探索NXP_MBDToolbox_LAX。lax_codegen 生成的代碼基于靜態分配。我想管理大型向量,如何使用 LAX_CODEGEN 啟用動態內存分配
    發表于 04-10 08:09

    如何查看S32DS中S32平臺的內存分配

    大家好,我正在使用 s32DS for s32 平臺,我想查看我的項目的內存分配。我想知道分配給對象的內存以及它們被分配到哪里,例如 SRA
    發表于 04-09 07:30

    golang內存分配

    作者:錢文 Go 的分配采用了類似 tcmalloc 的結構.特點: 使用一小塊一小塊的連續內存頁, 進行分配某個范圍大小的內存需求. 比如某個連續 8KB 專門用于
    的頭像 發表于 03-31 15:00 ?514次閱讀
    golang<b class='flag-5'>內存</b><b class='flag-5'>分配</b>

    S32G3板卡上內核崩潰后自動重啟怎么解決?

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

    使用OpenVINO?進行推理時的內存泄漏怎么解決?

    使用 OpenVINO? 進行推理時,內存會隨著時間的推移而增加,并導致程序崩潰
    發表于 03-06 08:29