Nacos 内存参数修改调优
前言
在Spring Cloud项目中我们经常会用到Nacos,但如果只是在测试环境或者微服务数量相对比较少时,采用Nacos默认的JVM配置会浪费很多资源。特别是那些低配置用来研究的服务器。
无论是出于生产环境优化所需,还是出于测试环境不浪费资源所需,都需要对默认的JVM进行调整。
Nacos内存配置
Nacos是基于Spring Boot的项目,所使用的内存参数是在启动命令中进行配置的。而启动命令位于startup.sh(或.cmd)当中:
#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; thenJAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
elseif [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; thenJAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"fiJAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"fi
可以看出,如果是standalone模式启动,默认内存参数为“-Xms512m -Xmx512m -Xmn256m”,虽然不少,但还算可以。
但如果是其他模式启动,则内存直接分配2个G,可能根本用不到这么多,这个就有点坑了。
其中对应参数的含义:
- -Xms: 设定程序启动时占用内存大小
- -Xmx: 设定程序运行期间最大可占用的内存大小
- -Xmn:新生代大小
为了避免频繁GC,设置的最小和最大内存为2G。因此,我们需要根据自己的业务情况,来进行占用内存的修改。
基于Docker的内存配置
如果是基于Docker进行服务启动的,也可以在脚本中进行调整:
version: '3'
services:nacos:image: nacos/nacos-server:latest # 镜像`nacos/nacos-server:latest`container_name: nacos_server # 容器名为'nacos_server'restart: always # 指定容器退出后的重启策略为始终重启volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录- "/opt/nacous/nacos_docker/logs:/home/nacos/logs"- "/opt/nacous/nacos_docker/init.d/custom.properties:/home/nacos/init.d/custom.properties"environment: # 设置环境变量,相当于docker run命令中的-e- PREFER_HOST_MODE=hostname # 是否支持hostname- MODE=standalone # 单机模式启动- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=127.0.0.1 # 注:这里不能为`127.0.0.1`或`localhost`方式!!!- MYSQL_SERVICE_DB_NAME=nacos_config # 所需sql脚本位于 `nacos-mysql/nacos-mysql.sql`- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=123456# JVM调优参数- JVM_XMS=64m #-Xms default :2g- JVM_XMX=64m #-Xmx default :2g- JVM_XMN=16m #-Xmn default :1g- JVM_MS=8m #-XX:MetaspaceSize default :128m- JVM_MMS=8m #-XX:MaxMetaspaceSize default :320m- NACOS_DEBUG=n #是否开启远程debug,y/n,默认n- TOMCAT_ACCESSLOG_ENABLED=false #是否开始tomcat访问日志的记录,默认falseports: # 映射端口- "8848:8848"- "9555:9555"# mem_limit: 300m # 最大使用内存
小结
关于Nacos的内存调优本质上就是Spring Boot项目的内存调优,根据自己的业务所需,可以适当的进行参数大小的调整,并观察具体情况,根据业务变化进一步调整。在业务量比较小时,直接使用2G的内存,的确是很浪费的。
Nacos 内存参数修改调优相关推荐
- 【java】java JVM如何科学的设置内存参数 虚拟机调优案例
1.概述 本文章是视频:[面试绝招]BAT大厂高并发系统JVM性能调优实战 主要是这个说的比较科学.我以前都是测试或者按照经验来设置. 假设一个网站是日活500万,然后付费转化率是10%,日均50万, ...
- 鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优
1.1 CPU与内存子系统性能调优简介 调优思路 性能优化的思路如下: l 如果CPU的利用率不高,说明资源没有充分利用,可以通过工具(如strace)查看应用程序阻塞在哪里,一般为磁盘,网络或应 ...
- 深入理解JVM虚拟机10:JVM常用参数以及调优实践
本文转自[JVM常用参数以及调优实践](https://blog.csdn.net/a724888/article/details/78367780) JVM常用参数选项 jvm 可配置的参数选项可以 ...
- spark submit参数及调优
spark submit参数及调优 原文地址 spark submit参数介绍 你可以通过spark-submit --help或者spark-shell --help来查看这些参数. 使用格式: ...
- spark submit参数及调优(转载)
spark submit参数介绍 你可以通过spark-submit --help或者spark-shell --help来查看这些参数. 使用格式: ./bin/spark-submit \--c ...
- Spark:spark submit参数及调优 perfect
先看下spark运行原理流程: 我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程. 根据你使用的部署模式(deploy-mode)不同,Drive ...
- mysql的从头到脚优化之服务器参数的调优
一. 说到mysql的调优,有许多的点可以让我们去做,因此梳理下,一些调优的策略,今天只是总结下服务器参数的调优 其实说到,参数的调优,我的理解就是无非两点: 如果是Innodb的数据库,innod ...
- Android内存分析和调优(上)
Android内存分析和调优(上) Android内存分析和调优(上) Android内存分析工具(四):adb命令 posted on 2017-09-25 19:29 时空观察者9号 阅读(... ...
- 【华为云 ModelArts-Lab AI实战营】第三期:图像分类 (III) 模型参数网络调优
https://github.com/huaweicloud/ModelArts-Lab/issues/219 本期实战为图像分类第三期.本期实战,本期我们将会以 "VGG16模型" ...
最新文章
- slackware12.0 安装AdobeReader_chs-7.0.9-1.i386.tar.gz后程序启动报错解决?
- @PreAuthorize 权限控制的原理
- 7.1.2 定义改进的Sales_date类
- Linux常用命令大全--有关磁盘空间的命令
- 机房收费系统——需求分析
- C 语言精髓之变参函数
- 收银系统服务器有什么好处,生鲜超市收银系统软件怎么选?收银系统能带来什么好处?...
- 机电传动控制大作业第一阶段
- 静态成员函数与静态数据的使用
- 宁波大学数学系好老师推荐
- 1235813找规律第100个数_中考数学专题 - -找规律总结题 -
- 参考文献起止页码怎么写_参考文献是图书,怎么标注页码啊,用到哪页就写哪页吗(⊙_⊙?)...
- 170713 逆向-填数游戏
- 微信小程序:微信商家券的领取
- L2-3 小A爱旅游 (25 分)
- 模型转换:tensorflow2 模型转pb,pb转tflite
- ESP32开发环境的搭建和 ESP-IDF支持以下调试方法
- 发明专利的权利要求书怎么写?
- 反光柱建图和定位总结
- 3. PCB表面元器件检测(机械臂+机器视觉)