将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 Redis 将 POJO 列表存储为值
将 Spring Boot 应用程序部署到外部 tomcat 服务器时,通过 application.properties 更改其端口