一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

MemLab 的工作原理

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

掃碼添加小助手

加入工程師交流群

Meta 宣布開(kāi)源了 MemLab,一個(gè)用于在基于 Chromium 的瀏覽器上的 JavaScript 應(yīng)用程序中查找內(nèi)存泄漏的工具。公告稱,找到并解決內(nèi)存泄漏的根本原因?qū)τ谠?Web 應(yīng)用程序上提供高質(zhì)量的用戶體驗(yàn)非常重要。MemLab 幫助 Meta 的工程師和開(kāi)發(fā)人員改善了用戶體驗(yàn),并在內(nèi)存優(yōu)化方面做出了重大改進(jìn)?!拔覀兿M材転楦蟮?JavaScript 社區(qū)做出貢獻(xiàn)”。

Facebook.com 在 2020 年被重新設(shè)計(jì)為單頁(yè)應(yīng)用程序 (SPA),該應(yīng)用程序的大部分渲染和導(dǎo)航使用客戶端 JavaScript。而 Meta 的大多數(shù)其他流行網(wǎng)絡(luò)應(yīng)用程序都使用了類(lèi)似的架構(gòu)來(lái)構(gòu)建,包括 Instagram 和 Workplace。該公司表示,雖然這種架構(gòu)使其能夠提供更快的用戶交互、更好的開(kāi)發(fā)人員體驗(yàn)和更像應(yīng)用程序的感覺(jué),但在客戶端維護(hù) Web 應(yīng)用程序狀態(tài)會(huì)使有效管理客戶端內(nèi)存變得更加復(fù)雜。

“使用我們的網(wǎng)絡(luò)應(yīng)用程序的人通常會(huì)立即注意到性能和功能正確性問(wèn)題。然而,內(nèi)存泄漏是另一回事;它不會(huì)立即被察覺(jué),因?yàn)樗淮螘?huì)占用一大塊內(nèi)存 —— 影響整個(gè) Web 會(huì)話并使后續(xù)交互變得更慢且響應(yīng)更慢。為了幫助我們的開(kāi)發(fā)人員解決這個(gè)問(wèn)題,我們構(gòu)建了 MemLab,這是一個(gè) JavaScript 內(nèi)存測(cè)試框架,它可以自動(dòng)進(jìn)行泄漏檢測(cè)并更容易找到內(nèi)存泄漏的根本原因。我們?cè)?Meta 使用 MemLab 成功地控制了不可持續(xù)的內(nèi)存增長(zhǎng),并識(shí)別了我們產(chǎn)品和基礎(chǔ)設(shè)施中的內(nèi)存泄漏和內(nèi)存優(yōu)化機(jī)會(huì)。我們已經(jīng)在 GitHub 上開(kāi)源了 MemLab,我們很高興能與 JavaScript 社區(qū)合作,讓開(kāi)發(fā)人員從今天開(kāi)始使用 MemLab?!?/p>

MemLab 的工作原理是通過(guò)預(yù)定義的測(cè)試場(chǎng)景運(yùn)行 headless 瀏覽器并對(duì) JavaScript heap snapshots 進(jìn)行差異分析來(lái)發(fā)現(xiàn)內(nèi)存泄漏。此過(guò)程分六個(gè)步驟進(jìn)行:

瀏覽器交互

9b76b57a-373d-11ed-ba43-dac502259ad0.gif

區(qū)分 heap

細(xì)化內(nèi)存泄漏列表

生成 retainer traces

Clustering retainer traces

報(bào)告泄漏

9b98a6b2-373d-11ed-ba43-dac502259ad0.png

MemLab 提供內(nèi)存泄漏檢測(cè)功能。對(duì)于瀏覽器內(nèi)存泄漏檢測(cè),MemLab 需要開(kāi)發(fā)人員提供的唯一輸入是一個(gè)測(cè)試場(chǎng)景文件,該文件定義了如何通過(guò) overriding Puppeteer API 和 CSS 選擇器的三個(gè)回調(diào)來(lái)與網(wǎng)頁(yè)進(jìn)行交互。MemLab 會(huì)自動(dòng)對(duì) JavaScript heap 進(jìn)行差異化處理,完善內(nèi)存泄漏,并對(duì)結(jié)果進(jìn)行匯總。

9bc2917a-373d-11ed-ba43-dac502259ad0.gif

MemLab 的另一個(gè)特性是提供了 “JavaScript heap 的 Graph-view API”。Node.js 程序或 Jest test 也可以使用 graph-view API 來(lái)獲取其自身狀態(tài)的 heap graph view,進(jìn)行 self-memory 檢查,并編寫(xiě)各種內(nèi)存斷言。除了內(nèi)存泄漏檢測(cè),MemLab 還包括一組內(nèi)置的 CLI 命令和 API,用于尋找內(nèi)存優(yōu)化機(jī)會(huì)。

9bee8a46-373d-11ed-ba43-dac502259ad0.jpg

通過(guò)使用 MemLab 檢測(cè)和診斷內(nèi)存泄漏,Meta 方面稱,其在 2021 年上半年將 Facebook.com 上的 OOM 崩潰減少了 50%。

9bff6014-373d-11ed-ba43-dac502259ad0.jpg

審核編輯:彭靜

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

    關(guān)注

    8

    文章

    3124

    瀏覽量

    75269
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    36302
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3337

    瀏覽量

    59034

原文標(biāo)題:Meta開(kāi)源MemLab:JavaScript內(nèi)存泄漏檢測(cè)工具

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    電容降壓的工作原理

    電容降壓的工作原理 電容降壓的工作原理并不復(fù)雜。他的工作原理是利用電容在一定的交流信號(hào)頻率下產(chǎn)生的容抗來(lái)限制最大工作
    發(fā)表于 11-30 10:47 ?1514次閱讀

    感光太陽(yáng)能燈工作原理。#工作原理大揭秘

    太陽(yáng)工作原理DIY
    jf_24750660
    發(fā)布于 :2022年11月07日 22:26:04

    時(shí)域反射計(jì)的工作原理

    傳統(tǒng)時(shí)域反射計(jì)工作原理時(shí)域反射計(jì)TDR是最常用的測(cè)量傳輸線特征阻抗的儀器,它是利用時(shí)域反射的原理進(jìn)行特性阻抗的測(cè)量。圖1是傳統(tǒng)TDR工作原理圖。圖1時(shí)域反射計(jì)TDR工作原理
    發(fā)表于 07-01 08:23

    伺服電機(jī)的工作原理是什么

    什么是伺服系統(tǒng)?伺服電機(jī)的工作原理是什么?交流伺服電機(jī)的工作原理是什么?
    發(fā)表于 10-11 08:32

    伺服閥的工作原理

    伺服閥的工作原理 圖2是伺服閥的工作原理圖。
    發(fā)表于 11-19 16:21 ?1.7w次閱讀

    步進(jìn)電機(jī)的工作原理

    步進(jìn)電機(jī)的工作原理 以磁阻式步進(jìn)電機(jī)為例,介紹一下步進(jìn)電機(jī)的工作原理,圖1. 1是磁阻式步進(jìn)電機(jī)工作原理的示意圖。它的定子上有六個(gè)
    發(fā)表于 03-30 16:53 ?8876次閱讀
    步進(jìn)電機(jī)的<b class='flag-5'>工作原理</b>

    光柵的工作原理

    光柵的工作原理 常見(jiàn)光柵的工作原理都是根據(jù)物理上莫爾條紋的形成原理進(jìn)行工作的。圖4-9是其工作原理圖。當(dāng)使指示光柵上的線紋與標(biāo)尺光柵上的線紋
    發(fā)表于 05-06 23:23 ?2.4w次閱讀
    光柵的<b class='flag-5'>工作原理</b>

    串行端口工作原理

    串行端口工作原理 串行端口工作原理 9針連
    發(fā)表于 07-24 00:21 ?2052次閱讀

    BIOS工作原理

    BIOS工作原理 BIOS簡(jiǎn)介 BIOS工作原理
    發(fā)表于 07-26 12:32 ?6083次閱讀

    聲卡的工作原理

      聲卡的工作原理 聲卡的工作原理:聲卡的工作原理其實(shí)很簡(jiǎn)
    發(fā)表于 12-21 14:18 ?2150次閱讀

    控系統(tǒng)的工作原理是什么?

    控系統(tǒng)的工作原理是什么? 控系統(tǒng)的工作原理   中央控制系統(tǒng)采用多機(jī)通訊技術(shù)和系統(tǒng)集成技術(shù),
    發(fā)表于 02-11 15:26 ?1577次閱讀

    電冰箱的工作原理

    本內(nèi)容介紹了電冰箱的工作原理,電冰箱致冷的原理和種類(lèi),家用冰箱空調(diào)的工作原理,電冰箱的工作原理
    發(fā)表于 05-14 16:15 ?7.8w次閱讀
    電冰箱的<b class='flag-5'>工作原理</b>

    AGV的工作原理、控制方式及應(yīng)用

    AGV的工作原理、控制方式及應(yīng)用AGV的工作原理、控制方式及應(yīng)用
    發(fā)表于 12-18 16:31 ?151次下載

    光耦的工作原理

    光耦的工作原理 光耦的工作原理 光耦的工作原理
    發(fā)表于 12-25 15:10 ?0次下載

    逆變器工作原理視頻

    本文以逆變器的工作原理為中心而展開(kāi)的話題闡述,分別介紹了全控型逆變器工作原理和半控型逆變器工作原理。
    的頭像 發(fā)表于 08-02 16:02 ?5.1w次閱讀