Go 1.19提供開發者更多運算資源控制能力,添加Runtime記憶體限制功能

Go開發團隊公布在最新1.19版本的Runtime,,讓開發者可以控制應用程式所使用的記憶體容量,使Runtime在應用程式負載尖峰時仍可以維持穩定運作。

記憶體限制是一個Go社群長期要求的功能,過去Go的垃圾回收只有一個調校參數GOGC,GOGC供用戶調整Go垃圾回收GPU和記憶體額外開銷的權衡,官方解釋,他們過去之所以不願意在Go Runtime添加新的控制旋鈕,是因為每一個旋鈕都代表,在測試和維護的配置空間永遠增加一個新維度,這也會帶給Go開發人員額外的理解和使用負擔,因此他們傾向在Go Runtime盡量保持最少的配置。

但現在Go團隊決定在Go 1.19版本的Runtime添加記憶體限制功能,他們解釋,記憶體不像是CPU時間可以替代,開發者可以稍待片刻以獲得更多的CPU時間,記憶體容量固定且有限。而記憶體限制可以解決兩個主要問題,第一,當應用程式的記憶體使用峰值不可預測時,原本的GOGC無法保護系統免於記憶體不足的風險,僅使用GOGC,Go Runtime無法確定目前有多少記憶體可以使用。

但透過配置記憶體限制,Runtime可以掌握需要積極減少記憶體開銷的時機,因此可以更強健穩定的度過瞬間負載峰值期。

第二個原因是,要避免在不使用記憶體限制的情況出現記憶體不足的錯誤,GOGC需要根據記憶體峰值進行調校,這代表Runtime要以較低的記憶體花費執行垃圾回收,就需要花費更多的CPU開銷,即便應用程式並未處在記憶體峰值期間,或是當時還有許多記憶體可供使用。

想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

節能減碳愛地球是景泰電動車的理念,是創立景泰電動車行的初衷,滿意態度更是服務客戶的最高品質,我們的成長來自於你的推薦。

好山好水露營車漫遊體驗

露營車x公路旅行的十一個出遊特色。走到哪、玩到哪,彈性的出遊方案,行程跟出發地也可客製

太陽光電發電設備是否會產生噪音?

找對廠商很重要喔,東陽能源是擁有核心技術、產品研發、系統規劃設置、專業團隊的太陽能發電廠商。

網頁設計最專業,超強功能平台可客製化

窩窩以「數位行銷」「品牌經營」「網站與應用程式」「印刷品設計」等四大主軸,為每一位客戶客製建立行銷脈絡及洞燭市場先機。

Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

電動車補助

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

產品缺大量曝光嗎?你需要的是一流包裝設計

窩窩觸角包含自媒體、自有平台及其他國家營銷業務等,多角化經營並具有國際觀的永續理念。

回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

推薦評價好的iphone維修中心

擁有專業的維修技術團隊,同時聘請資深iphone手機維修專家,現場說明手機問題,快速修理,沒修好不收錢

而這個情況之所以會在容器化的應用中受到關注,因為程式會被放置在特定且隔離,事先預留記憶體的沙盒中執行,因此記憶體限制反而可以利用這個機制,提供負載峰值保護,使GOGC在CPU花費方面進行更積極的調整。

Go團隊以容易使用和強健性,作為設計記憶體限制功能的核心思想,能夠限制應用程式中Go部分的所有記憶體占用,而非只是Go堆(Heap),因此用戶不用擔心Go Runtime的執行時開銷,同時Runtime也會根據記憶體限制調整記憶體清理政策,更主動地將記憶體還給作業系統,以回應記憶體壓力。

但開發團隊提醒開發者,雖然記憶體限制是一個強大的工具,但仍必須謹慎使用,因為可能會讓應用程式出現垃圾回收不穩的情況,當應用程式花費太多的時間執行垃圾回收,導致沒有足夠的時間花在真正有意義的程序上,像是當記憶體限制太低,而無法滿足應用程式實際所需的記憶體量,Go應用程式便可能發生崩潰。

在記憶體限制使用上,開發者需要考慮更多部分,可以參考官方新發布的垃圾回收指南,進一步了解垃圾回收成本以及操作辦法。

https://www.ithome.com.tw/news/153286

您可能也會喜歡…