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

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

Spring Boot 微服務(wù)在 docker-swarm 中消耗大量內(nèi)存

Spring Boot 微服務(wù)在 docker-swarm 中消耗大量內(nèi)存

藍(lán)山帝景 2021-11-11 15:44:18
我有一些docker swarm 容器在Azure上的Ubuntu 16.04.4 LTS實(shí)例上運(yùn)行。容器正在運(yùn)行 Java Spring Boot 和 Netflix OSS 應(yīng)用程序,如 Eureka、Ribbon、Gateway 等應(yīng)用程序。我觀察到我的容器占用了大量內(nèi)存,盡管服務(wù)只是 REST 端點(diǎn)。我試圖通過像下面這樣傳遞 Java VM 參數(shù)來限制內(nèi)存消耗,但這無濟(jì)于事,即使之后大小也沒有改變。請注意下面我在這里使用的配置,Java 版本:Java 8 高山內(nèi)核版本:4.15.0-1023-azure操作系統(tǒng):Ubuntu 16.04.4 LTS操作系統(tǒng)類型:linux架構(gòu):x86_64CPU:32總內(nèi)存:125.9GiB之后的內(nèi)存占用 docker statsJava VM 參數(shù),docker service create --name xxxxxx-service --replicas 1 --network overnet 127.0.0.1:5000/xxxxxx-service --env JAVA_OPTS="-Xms16m -Xmx32m -XX:MaxMetaspaceSize=48m -XX:CompressedClassSpaceSize=8m -Xss256k -Xmn8m -XX:InitialCodeCacheSize=4m -XX:ReservedCodeCacheSize=8m -XX:MaxDirectMemorySize=16m -XX:+UseCGroupMemoryLimitForHeap -XX:-ShrinkHeapInSteps -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=70"我也嘗試查看每個容器中的應(yīng)用程序日志文件,但找不到任何與內(nèi)存相關(guān)的錯誤。我還嘗試限制容器資源。但這對我也不起作用。有什么線索可以解決這個繁重的內(nèi)存問題嗎?
查看完整描述

3 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

您可以通過使用諸如visualvm 或jprofiler 之類的分析器來解決此問題,它們會向您顯示分配了內(nèi)存的位置(哪些類型的對象等)。

如果可能,您不應(yīng)該在生產(chǎn)系統(tǒng)上使用它,因?yàn)榉治隹赡軙加么罅?CPU。


查看完整回答
反對 回復(fù) 2021-11-11
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個贊

了解我過去使用過的更多信息的另一種方法是使用AspectJ 的加載時間編織來添加特殊代碼,將內(nèi)存信息添加到您的日志文件中。這也會減慢您的系統(tǒng)速度,但是當(dāng)您的方面已經(jīng)被寫入時,不如使用配置文件。

如果可能的話,分析將是首選 - 如果不是,AspectJ 加載時間編織可能會有所幫助。


查看完整回答
反對 回復(fù) 2021-11-11
?
翻閱古今

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

您可以嘗試啟用執(zhí)行器并將內(nèi)存消耗值與 docker stats 生成的值進(jìn)行比較。


要啟用執(zhí)行器,您可以在 pom.xml 文件中添加以下依賴項(xiàng)。


<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

我通常使用 HAL 瀏覽器來監(jiān)控應(yīng)用程序并使用執(zhí)行器端點(diǎn)。您可以使用以下 maven 依賴項(xiàng)添加它。


<dependency>

    <groupId>org.springframework.data</groupId>

    <artifactId>spring-data-rest-hal-browser</artifactId>

</dependency>

在 HAL 瀏覽器中,您可以嘗試使用/metrics應(yīng)用程序的端點(diǎn)。


示例輸出如下所示。


{

    "mem" : 193024,

    "mem.free" : 87693,

    "processors" : 4,

    "instance.uptime" : 305027,

    "uptime" : 307077,

    "systemload.average" : 0.11,

    "heap.committed" : 193024,

    "heap.init" : 124928,

    "heap.used" : 105330,

    "heap" : 1764352,

    "threads.peak" : 22,

    "threads.daemon" : 19,

    "threads" : 22,

    "classes" : 5819,

    "classes.loaded" : 5819,

    "classes.unloaded" : 0,

    "gc.ps_scavenge.count" : 7,

    "gc.ps_scavenge.time" : 54,

    "gc.ps_marksweep.count" : 1,

    "gc.ps_marksweep.time" : 44,

    "httpsessions.max" : -1,

    "httpsessions.active" : 0,

    "counter.status.200.root" : 1,

    "gauge.response.root" : 37.0

}

通過這種方式,您可以監(jiān)控應(yīng)用程序的內(nèi)存性能并了解應(yīng)用程序?qū)嶋H消耗了多少內(nèi)存。如果這與 docker 生成的報告類似,那么這就是您的代碼的問題。


但是我必須聲明,執(zhí)行器的使用不是生產(chǎn)友好的,因?yàn)樗旧砭哂酗@著的資源開銷。


查看完整回答
反對 回復(fù) 2021-11-11
  • 3 回答
  • 0 關(guān)注
  • 380 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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