将spring boot应用程序用作unix服务时如何调整jvm

Posted

技术标签:

【中文标题】将spring boot应用程序用作unix服务时如何调整jvm【英文标题】:how to tune jvm when using spring boot application as unix service 【发布时间】:2015-11-15 13:00:48 【问题描述】:

我正在使用新的 spring-boot 1.3.0 功能将 tomcat 嵌入式 spring-boot 应用程序 jar 作为 unix 服务运行。

一切正常,但我不知道如何调整 jvm(例如使用 -Xms 和 -Xmx 参数)

我在春天搜索了documentation 并在网络上搜索,但没有成功。

【问题讨论】:

【参考方案1】:

文档中缺少它(我已打开 an issue 进行更正),但您应该可以使用 JAVA_OPTS 环境变量。

您可以在 jar 旁边的 .conf 文件中配置它。例如,如果你的 jar 文件是 /var/myapp/myapp.jar,那么文件 /var/myapp/myapp.conf 将由启动脚本获取。

【讨论】:

我已经读过该服务去除了除 TERM、PATH 和 LANG 之外的所有环境变量。那么它是如何工作的呢? 您可以使用位于 jar 旁边的 .conf 文件。我已经用详细信息更新了我的答案。 感谢您的回复。它有效 :-) 只是拼写错误:“文件 /var/myapp/myapp.conf 将由启动脚本获取。”【参考方案2】:

还有一个选项可以达到同样的效果,如果你用 mvn 运行 jar,你可以做这样的事情

mvn spring-boot:run -Drun.jvmArguments="-Xmx512m"

如果你使用 java -jar 运行,你可以试试这样的

java -Xmx1G -jar myapp.jar

【讨论】:

以上是关于将spring boot应用程序用作unix服务时如何调整jvm的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud:构建微服务 - Spring Boot

Spring Boot 微服务授权

Spring Boot Redis 将 POJO 列表存储为值

将 Spring Boot 应用程序部署到外部 tomcat 服务器时,通过 application.properties 更改其端口

spring-boot简介

在 Spring Boot 应用程序中使用 API 网关时,HATEOAS 路径无效