zoukankan      html  css  js  c++  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数目,并发线程数等。

  • 相关阅读:
    今天晚上有个什么样的博文呢
    STM8CubeMx来了
    开博啦
    Authentication
    文件上传设计要点
    分布式杂记
    SQL Server 知识集
    C# 集合使用误区
    网络知识集
    关于 elasticsearch 近实时特征的思考
  • 原文地址:https://www.cnblogs.com/lywJ/p/10880340.html
Copyright © 2011-2022 走看看