docker-compose 调整JVM参数

使用docker-compose,调整JVM参数 JVM参数不生效

问题描述:

服务器配置比较低,导致部署在docker里的微服务占用内存太大部分本奎,就想调整下jvm参数优化下,又网上很多调整JVM参数的方法不能用或者调整后不生效,参考多篇文章后总结一个方法。

推荐 使用解决方式2

解决方案1:

1、docker-compose.yml 里加上environment的配置,如下:

version : '2.1'
services:
  one-service:
    image: java:8
    volumes:
     - ./porject:/springboot
    privileged: true
    ports:
     - "21273:80"
    restart: always
    container_name: onne-service
    environment:
     - TZ=Asia/Shanghai
     - JAVA_OPTS=  #-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70
    command:
     - /bin/bash
     - -c
     - |
       cd /springboot
       java  ${JAVA_OPTS} -jar spring-boot-1.0.jar 
    networks:
    - public_network

2、执行

docker-compose up -d one-service

启动之后,查看是否启动成功,可以执行如下命令:
1)进入容器:docker exec -it 容器ID bash
2)直接输入 top 命令,如显示如下说明成功了:在这里插入图片描述
1、如果没有显示JVM参数,
执行如下命令:

jps -v

如果JVM参数依然为默认参数的话就说明我们的配置没有生效,我们需要使用解决方案2来处理。

解决方案2

1、在启动类的位置新增一个文件: run.sh

vim run.sh

将如下内容添加进去并保存文件

#!/bin/sh
java ${JAVA_OPTS} -jar spring-boot-1.0.jar

2、修改一下 docker-compose.yml:

version : '2.1'
services:
  one-service:
    image: java:8
    volumes:
     - ./porject/dhis-base:/springboot
    privileged: true
    ports:
     - "21273:80"
    restart: always
    container_name: onne-service
    environment:
     - TZ=Asia/Shanghai
     - JAVA_OPTS=  #-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70
    command:
     - /bin/bash
     - -c
     - |
       cd /springboot
       exec ./run.sh #使用脚本的方式启动项目,这样启动的话pid就不是1了
    networks:
    - public_network

PS: 如果启动报没有权限,给文件run.sh 赋权限,执行如下:
chmod -R 777 run.sh
2、执行 docker-compose up -d one-service 再次启动,进入容器:
在容器内执行:

jps -v

JVM参数已经变成我们自己设置的参数了
在这里插入图片描述
PS:
JVM调优常用命令去JVM调优常用命令页面查看。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值