Spring cloud开发的微服务部署到Linux上内存过高的问题

Posted 勇敢de面对

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring cloud开发的微服务部署到Linux上内存过高的问题相关的知识,希望对你有一定的参考价值。

【问题描述】

  在使用spring cloud过程中一个很严重的资源问题就是内存占用过高,而实际上开发测试并没有很大的访问量,甚至却出现了服务无法正常访问的问题。

 

【原因分析】

  主要是因为:spring cloud的单个微服务部署到Linux系统服务器上时,在8G内存的linux系统电脑上启动占用的内存就达到1G左右。只部署了5个左右的微服务,内存已经不够用了。

 在网上也看了很多方法,很多人建议在eclipse或者idea上面进行jvm的参数设置:

    

  

   但是,经过实际的部署验证发现,还是没有效果。

根本原因:是由于Spring-Boot工程的启动参数,spring boot生成的jar包就是一个普通的jar包;
这个jar包的jvm参数,还必须要从java -jar 的命令中,赋值设置内存占用最大最小和初始值才有作用。


【解决方案】

   在Linux系统的服务器上面,启动各个spring cloud的微服务jar包的时候,需要在java    -jar 的命令中间增加jvm的内存参数设置:-Xms64m -Xmx128m

   nohup java   -Xms64m -Xmx128m    -jar  xxx.xxxx-xxx-xxxxxx-0.0.1-SNAPSHOT.jar &

以上是关于Spring cloud开发的微服务部署到Linux上内存过高的问题的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud 数据流——微服务部署

云部署中的Spring Cloud微服务配置

spring cloud构建全球多租户分布式微服务部署的方案

将微服务部署到 Cloud Foundry

spring cloud微服务实践七

使用Spring Cloud Config统一管理微服务配置