Docker环境下Java应用的最大内存和堆内存的设置
生活随笔
收集整理的這篇文章主要介紹了
Docker环境下Java应用的最大内存和堆内存的设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Docker環境下Java應用的最大內存和堆內存的設置
1、? 設置應用允許使用的最大內存
通過docker run(創建一個新的容器并運行)命令中設置-m來進行設置。案例如下所示。
docker run -d --name test-service -m 800m --env LOG_LEVEL=ERROR -e "spring.profiles.active=dev" -p 8090:8090 test-service
2、設置最大堆內存
在Dockerfile里面,設置”-Xmx”參數。-Xmx用于指定堆(Heap)的最大值。案例如下所示。
CMD ["java", "-Xmx600m", "-jar", "/usr/local/test/data/test-1.0-SNAPSHOT.jar"]
注意:
docker鏡像服務的內存不能全部給“-Xmx”,因為JVM消耗的內存不僅僅是Heap。
JVM = Heap + Method Area +Constant Pool + Thread Stack * num of thread?。
Xmx的值可設置為鏡像上限減去150m或200m。當然還需要考慮應用自身的特點,比如class數目,并發線程數等。
?
轉載于:https://www.cnblogs.com/lywJ/p/10880340.html
總結
以上是生活随笔為你收集整理的Docker环境下Java应用的最大内存和堆内存的设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IP通信基础 4月15日
- 下一篇: SCOI2010 股票交易