第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java堆內(nèi)存保存大字節(jié)數(shù)組

Java堆內(nèi)存保存大字節(jié)數(shù)組

qq_笑_17 2023-11-01 20:55:33
我們的微服務(wù)應(yīng)用程序使用 Java 8 Spring Boot 2。在本地運(yùn)行負(fù)載測試注意到堆消耗內(nèi)存但從未釋放回來。我正在使用 G1 垃圾收集器運(yùn)行應(yīng)用程序,并且還從 JVisualVM 執(zhí)行了手動(dòng) GC,但分配的內(nèi)存仍然永遠(yuǎn)不會(huì)被釋放。我獲取了堆轉(zhuǎn)儲并對其進(jìn)行了分析,我可以清楚地看到系統(tǒng)類加載器創(chuàng)建的大字節(jié)數(shù)組被列為泄漏嫌疑對象。我看到字節(jié)數(shù)組實(shí)例保存了對端點(diǎn)“/test”的 HTTP 請求。但負(fù)載測試已經(jīng)完成,線程回到運(yùn)行負(fù)載測試之前的位置。不知道為什么系統(tǒng)類加載器加載的字節(jié)數(shù)組包含所有這些元素并無緣無故地占用所有這些堆。JVisualVM泄密嫌疑人字節(jié)數(shù)組具有傳出引用的對象/test 端點(diǎn)是 @RestController 類中的唯一方法@RequestMapping(value = "/test", method = RequestMethod.GET)@CrossOrigin(origins = "*")public void test() {    logger.info("Testing1...");}以下是與服務(wù)器相關(guān)的Spring Boot application.properties:server.port=8090server.tomcat.max-threads=200server.tomcat.accept-count=100server.tomcat.min-spare-threads=20server.error.whitelabel.enabled=falseserver.max-http-header-size=2097152
查看完整描述

2 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

Tomcat 緩存了許多對象以使其運(yùn)行速度更快。通過設(shè)置,server.max-http-header-size=2097152您使這些緩存對象之一聲明 2 MB 內(nèi)存并保留它。

該文檔有以下內(nèi)容processorCache

協(xié)議處理程序緩存處理器對象以提高性能。此設(shè)置指示緩存這些對象的數(shù)量。-1表示無限制,默認(rèn)為200。如果不使用Servlet 3.0異步處理,一個(gè)好的默認(rèn)值是使用與maxThreads設(shè)置相同的值。如果使用 Servlet 3.0 異步處理,一個(gè)好的默認(rèn)值是使用 maxThreads 和最大預(yù)期并發(fā)請求數(shù)(同步和異步)中的較大者。

所以我的建議是將設(shè)置server.max-http-header-size為更合理的值,例如8KB(默認(rèn)值),并在測試表明您確實(shí)需要它時(shí)慢慢加倍(相關(guān):當(dāng)總標(biāo)頭大小大于時(shí),Tomcat 拋出“400 Bad request”?server.max-http-header-size)。


查看完整回答
反對 回復(fù) 2023-11-01
?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

在運(yùn)行壓力測試之前獲取轉(zhuǎn)儲,并在運(yùn)行壓力測試之后獲取轉(zhuǎn)儲。Eclipse MAT 允許您比較兩個(gè)轉(zhuǎn)儲之間的直方圖,以便您知道發(fā)生了內(nèi)存泄漏。

我建議使用 Java Mission Control (JMC) 來監(jiān)視 JVM,您可以在其中仔細(xì)查看內(nèi)存消耗(堆和非堆)。請注意正在使用的內(nèi)存和已提交的內(nèi)存之間的區(qū)別。

較新版本的 Java 具有更復(fù)雜的算法,其中 JVM 將內(nèi)存返回給操作系統(tǒng)。對于 Java 8,一種選擇是使用 Eclipse Open J9 JVM。

查看完整回答
反對 回復(fù) 2023-11-01
  • 2 回答
  • 0 關(guān)注
  • 200 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號