使用docker-compose,调整JVM参数

分布式事务核心概念小结 C(Consistency):一致性,每次读取到的数据都是实时最新的数据。A(Availability):可用性,每次发起调用都可以得到非错误的正常响应。P(Partition tolerance):分区容错性,即分布式系统遇到某节点或者网络分区故障的时候,系统仍然能够对外提供一致性或者可用性的服务。 阅读详情

场景:

服务器配置比较低,导致部署在docker里的微服务不能完全启动,就想调整下jvm参数优化下,又因为启动容器用的是docker-compose,网上很多直接用docker run 调整JVM参数的方法不能用,参考多篇文章后总结一个适用docker-compose的完整方法。

方法:

1. Dokerfile里添加 ENV JAVA_OPTS="",如下:

RUN mkdir -p /test
WORKDIR /test
ADD ./target/test.jar ./test.jar
ENV JAVA_OPTS=""
CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar test.jar --spring.profiles.active=dev
#ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/test.jar"]
EXPOSE 6101

2.docker-compose 里加上environment的配置,如下:

  blade-test:
    image: "${REGISTER}/test:${TAG}"
    environment:
      - TZ=Asia/Shanghai
      - JAVA_OPTS=-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
    privileged: true
    restart: always
    networks:
    - test_net

其中,JAVA_OPTS="......"是对JVM参数的配置。

3. 执行docker-compose up -d blade-test 启动就好了,查看是否生效,可以执行如下命令:

 1)进入容器:docker exec -it 容器ID /bin/bash

2)直接输入   top   命令,如下:

可看到基本的容器占用的信息:pid、vsz、cpu、command等。(ctrl+c 或 q,退出top)

3)查看更具体的jvm内存占用:

top  -m 

就这么着OK了。

参考文章地址:https://blog.csdn.net/asenseof/article/details/107918861           

                         https://www.javatt.com/p/49781

 

 

springcloud部署——docker和docker-compose 最近一直在研究微服务的东西,发现微服务项目的部署运维比较麻烦,经过几天终于完整的把一套微服务部署了起来,这期间真是遇到太多问题,虽然最终觉得都不是什么大问题,但是这个过程总是艰难的,还好硬着头皮坚持了下来。本篇文章的项目是用了一个开源项目,对其进行了改造,是一个很不错的微服务学习开源项目,推荐一下:地址为https://gitee.com/wells2333/spring-microservice... 阅读详情

相关推荐

在统信UOS ARM服务器上,用Docker Compose一键部署StarRocks 2.5.14(含离线安装包)

本文详细介绍了在统信UOS ARM服务器上使用Docker Compose一键部署StarRocks 2.5.14的全流程,包括离线安装Docker、准备ARM镜像、配置Docker Compose文件以及性能优化建议。特别针对内网环境下的依赖获取和配置难题提供了解决方案,帮助企业在信创国产化浪潮中快速构建高效的数据分析平台。

weixin_42614269的博客 460

docker-compose 调整JVM参数

使用docker-compose,调整JVM参数以及JVM参数不生效问题

jdk java api 中文 下载 4525

Docker部署Nacos 2.x踩坑记:微服务启动报错Client not connected?排查临时实例的GRPC端口偏移问题

本文深入解析Docker部署Nacos 2.x时遇到的GRPC端口偏移问题,特别是临时实例通信中的'Client not connected'报错。通过详细的问题剖析和解决方案,帮助开发者正确配置端口映射和偏移量,确保微服务在容器化环境中的稳定运行。

liangqilang的专栏 320

docker-compose调整JVM参数 java.sql.SQLException: GC overhead limit exceeded

docker-compose调整JVM参数技术博客。

coderYJ的博客 881

从隐式求解器到显式求解器:COMSOL接触仿真中的求解策略对比与选择

本文深度解析了COMSOL中隐式与显式求解器在接触仿真中的应用与选择策略。针对非线性接触问题的核心挑战,详细对比了两种求解器的数学框架、优化技术及适用场景,并提供了参数调优和调试技巧,帮助工程师高效解决接触仿真中的收敛问题。

weixin_28347369的博客 675

Jaspersoft Studio 6.20.0 免注册安装指南(附下载链接)

本文提供了Jaspersoft Studio 6.20.0社区版的免注册安装详细指南。文章介绍了绕过官网注册获取安装包的多种可靠途径,并逐步详解了从启动安装器到首次运行的全过程,帮助用户快速完成安装与基础配置,高效开启报表设计工作。

mars5的博客 1663

JVM调优笔记

JVM调优笔记 -Xmx3550m:设置JVM最大堆内存为3550M。 -Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个...

honger_hua的博客 687

STM32CubeMX——循迹传感器TCRT5000的使用

前言 人生如逆旅,我亦是行人。 ————苏轼《临江仙·送钱穆父》 一、介绍 TCRT5000描述:(带有晶体管输出的反射光学传感器) TCRT5000是一种反射式光学传感器,它包括一个红外发射器和一个3.5mm引线封装的光电晶体管,可阻挡可见光。还具有1mA 典型被测输出电流,2.5mm峰值工作距离,可应用传感与仪表,工业等行业。 TCRT5000具有紧凑的结构,其中发射光源和探测器布置在同一方向,通过使用来自物体的反射红外光束来感知物体的存在。工作波长为950毫米,探测器由光电晶体管组成

W_Oilpicture的博客 1万+

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

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

jdk java api 中文 下载 1703

强化学习原理及应用作业之动态规划算法【SYSU_2023SpringRL】

本次实践作业将在以下环境进行: 该环境由一个 6×6 网格组成,其中黄色圆圈为智能体出发点,黑色格子为无法通过的墙壁,若智能体向着墙壁方向移动,则会停留在原地,地图边界的移动同理。带有黄色边框的格子为终止状态,即若智能体行动至此状态则整个 episode 结束。红色和绿色表示当前该状态的奖励值,奖励越高则绿色越深,奖励越低则红色越深。状态空间:36(0-35 这 36 个整数,左下角为 0,向右 +1,向上 +6)动作空间:4(0-3 这 4 个整数分别代表左、右、上、下)奖励函数:普通格子 -0.1,到

zik的博客 1388

AutoSAR EcuM系列01- EcuM模块的功能概述和变体类型

在【ECU的软硬件架构】文章中我们了解ECU的功能和组成,那么ECU具体是怎么启动的呢?我们知道,AutoSAR标准架构有三层,即APPL应用层、RTE层和BSW层。而这些层又被进一步划分为更多单独的组件,如BSW层可能有80多个组件。在ECU启动时,这些组件必须相互交互,有时也必须以某种顺序交互。这些组件的启动顺序由ECU管理器模块或EcuM处理。EcuM负责整个ECU的初始化和去初始化,包括对一些系统模块如。......

1757

docker-compose.yml 设置jvm 堆内存大小

version: '3' services: config: image: 镜像地址 ports: - 8888:8888 volumes: - /opt/microservice2.0/microservice-config/:/opt/microservice2.0/microservice-config - /opt/microservice2.0/api/:/opt/microservice2

一种感觉的博客 9298

把 SAP ABAP BDC 跑得又快又稳:从 SHDB 录屏到可上线的批量上传程序(含 MM01 案例与源码)

SAP BDC批量数据迁移实践 摘要:本文介绍了SAP系统中BDC(Batch Data Communication)技术在数据迁移中的应用。文章首先对比了Session method和CALL TRANSACTION method两种实现方式的特点及适用场景,重点推荐使用Session method进行主数据批量处理。然后详细讲解了通过SHDB工具录制MM01事务创建物料主数据的完整流程,包括如何生成基础BDC代码。最后展示了将录制的脚本改造为可批量处理文件数据的实用程序,核心改动包括定义数据结构、读取文

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 308

dockerfile指定jvm参数

dockerfile指定jvm参数 实例 FROM java:8 VOLUME /tmp ADD app.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 9001 ENV JAVA_OPTS="\ -server \ -Xmx4g \ -Xms4g \ -Xmn1536m \ -XX:SurvivorRatio=1 \ -XX:Metaspac...

rubbertree的专栏 1万+

基于STM32设计的老人摔倒检测报警系统【升级版】(235)

在 `235 基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)` 项目基础上增加了心率、血氧、体温测量3个功能。

1498

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

使用docker-compose搭建es集群+es-head+kibana+cerebro,亲测可行

搭建es集群,我使用的是 elasticsearch-6.7.2版本。在搭建的过程中遇到了N多坑,在参考别人的经验后,终于搞定了。 搭建docker和docker-compose环境 可以上菜鸟教程,里面有详细的步骤: 我使用的CentOS7 安装docker后,需要修改一下镜像加速器地址,使用的阿里云镜像加速器,可以到阿里云官网那里申请 搭建好环境之后,就可以开始集群搭建了。 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command

小肥羊的博客 4606

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

nacos启动jvm参数调整解决内存占用过多问题

温馨小提示:这里根据自己的服务器配置来具体设置,小编服务器很弱,所以如下设置的~

wcdunf的博客 3558

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Docker部署java程序限制内存

我们在使用docker来部署java程序的时候常常会发现内存占有很大的问题,使用docker stats查询发现java程序占用了7、8百兆的内存。 第一步开启jdk的内存限制 开启内存限制只需要如以下方式运行jar包 :java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap ... 以下是docker...

李阳阳的博客 2803

Linux 上使用 Docker 部署 Kafka 集群

确保已安装:Docker。

weixin_42949219的博客 1204

手把手教你Docker部署Nacos

文章目录基于docker安装nacos1、下载docker-compose2、安装nacos3、调整nacos的JVM参数4、测试 基于docker安装nacos 1、下载docker-compose 首先下载docker-compose 因为nacos官方建议使用docker-compose的方式安装 sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(u

WLK0423的博客 2411

运维(4) nacos启动jvm参数调整解决内存占用过多问题

一、问题 基于nacos1.4.0版本启动后,占用内存过多,nacos启动默认jvm参数如下: name description option JVM_XMS -Xms default :2g JVM_XMX -Xmx default :2g JVM_XMN -Xmn default :1g JVM_MS -XX:MetaspaceSize default :128m JVM_MMS -XX:MaxMetaspaceSize default :320m 二、jvm参数调整 小编是基于docker-compo

egegerhn的博客 5097

【Docker】安装 Nacos 2.0.3(单机版)

1 如果不加jvm参数的话,nacos会很占服务器内存。测试了下不加任何jvm参数启动后实际占用内存900多M,加了上述jvm参数后降低到440多M。application.properties内容如下,该文件是通过docker cp命令原封不动的从nacos容器中拷贝出来的。而2.0.3版本挂载的文件是/home/nacos/conf/application.properties。低版本(1.4.x)挂载的文是/home/nacos/init.d/custom.properties。

Hi there 4994

rocketmq服务的docker启动和配置

rocketmq的默认启动参数占用的内存实在是太大了,小于8G的电脑无法启动,docker中的开发环境又不可能用这么大,通用的该法是改sh文件。另外两个配置文件从容器里拷贝出来按照上面的修改jvm参数即可。rocketmq docker compose启动配置。runbroker.sh 默认8G。runserver.sh 默认4G。其中broker.conf内容如下。

gsls200808的专栏 792

elasticsearch docker 安装

elasticsearch8

sslfk的博客 1057
上一篇: 在linux服务器上部署springboot项目
下一篇: linux用nginx配置微服务的反向代理和负载均衡
y_onghuming
博客等级 码龄10年 16粉丝 40原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值