内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Go中內存釋放的改進是怎樣的

這篇文章主要為大家分析了Go中內存釋放的改進是怎樣的的相關知識點,內容詳細易懂,操作細節(jié)合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“Go中內存釋放的改進是怎樣的”的知識吧。

建寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

一直以來 go 的 runtime 在釋放內存返回到內核時,在 Linux 上使用的是 MADV_DONTNEED,雖然效率比較低,但是會讓 RSS(resident set size 常駐內存集)數(shù)量下降得很快。不過在 go 1.12 里專門針對這個做了優(yōu)化,runtime 在釋放內存時,使用了更加高效的 MADV_FREE 而不是之前的 MADV_DONTNEED。

這樣帶來的好處是,一次 GC 后的內存分配延遲得以改善,runtime 也會更加積極地將釋放的內存歸還給操作系統(tǒng),以應對大塊內存分配無法重用已存在的堆空間的問題。不過也會帶來一個副作用:RSS 不會立刻下降,而是要等到系統(tǒng)有內存壓力了,才會延遲下降。需要注意的是, MADV_FREE 需要 4.5 以及以上內核,否則 runtime 會繼續(xù)使用原先的 MADV_DONTNEED 方式。

比如,我最近就遇到了這個問題:

Go中內存釋放的改進是怎樣的

幾臺服務的請求量差別并不大,可以明顯看到 25(4.14 內核,其他幾臺都是 3.10 內核)的內存釋放看起來很慢,但是 HEAP 占用顯示卻正常:

順便說下,4.1 以上內核,最為引人注目的特性就是 eBPF,通過一個內核內置的字節(jié)碼虛擬機,可以完成數(shù)據(jù)包過濾、調用棧跟蹤、耗時統(tǒng)計、熱點分析等等高級功能,是 Linux 系統(tǒng)的性能分析利器。

Go中內存釋放的改進是怎樣的

當然 go 1.12 為了避免像這樣一些靠判斷 RSS 大小的自動化測試因此出問題,也提供了一個 GODEBUG=madvdontneed=1 參數(shù)可以強制 runtime 繼續(xù)使用 MADV_DONTNEED:runtime: provide way to disable MADV_FREE。但是顯然正常情況下,我們都應該優(yōu)先使用 MADV_FREE。

go適合做什么

go是golang的簡稱,而golang可以做服務器端開發(fā),且golang很適合做日志處理、數(shù)據(jù)打包、虛擬機處理、數(shù)據(jù)庫代理等工作。在網(wǎng)絡編程方面,它還廣泛應用于web應用、API應用等領域。

關于“Go中內存釋放的改進是怎樣的”就介紹到這了,更多相關內容可以搜索創(chuàng)新互聯(lián)以前的文章,希望能夠幫助大家答疑解惑,請多多支持創(chuàng)新互聯(lián)網(wǎng)站!

分享文章:Go中內存釋放的改進是怎樣的
瀏覽地址:http://m.rwnh.cn/article6/gdidig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、域名注冊品牌網(wǎng)站建設、網(wǎng)站維護、Google靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設
越西县| 施甸县| 临洮县| 江城| 双桥区| 黄骅市| 莒南县| 巴林右旗| 宁强县| 博湖县| 荆门市| 奉化市| 鄂尔多斯市| 宣汉县| 黑山县| 岚皋县| 康平县| 定州市| 温宿县| 高台县| 积石山| 张北县| 江山市| 江孜县| 北辰区| 库车县| 土默特左旗| 东莞市| 雅安市| 弋阳县| 沾益县| 富宁县| 晋中市| 古浪县| 平凉市| 米脂县| 常熟市| 汉中市| 桑日县| 黔西县| 新和县|