Nacos 内存参数修改调优
2021/6/30 7:21:53
本文主要是介绍Nacos 内存参数修改调优,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
在Spring Cloud项目中我们经常会用到Nacos,但如果只是在测试环境或者微服务数量相对比较少时,采用Nacos默认的JVM配置会浪费很多资源。特别是那些低配置用来研究的服务器。
无论是出于生产环境优化所需,还是出于测试环境不浪费资源所需,都需要对默认的JVM进行调整。
Nacos内存配置
Nacos是基于Spring Boot的项目,所使用的内存参数是在启动命令中进行配置的。而启动命令位于startup.sh(或.cmd)当中:
#=========================================================================================== # JVM Configuration #=========================================================================================== if [[ "${MODE}" == "standalone" ]]; then JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m" JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true" else if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true" fi JAVA_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访问日志的记录,默认false ports: # 映射端口 - "8848:8848" - "9555:9555" # mem_limit: 300m # 最大使用内存
小结
关于Nacos的内存调优本质上就是Spring Boot项目的内存调优,根据自己的业务所需,可以适当的进行参数大小的调整,并观察具体情况,根据业务变化进一步调整。在业务量比较小时,直接使用2G的内存,的确是很浪费的。
这篇关于Nacos 内存参数修改调优的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享