SpringBoot 运行内存及内存参数设置:助力高效应用部署与优化
共 3934字,需浏览 8分钟
·
2023-10-16 10:33
阅读本文大概需要 3 分钟。
来自:blog.csdn.net/weixin_46780832/article/details/129198609
1什么是 Java 内存?
2Spring Boot 内存设置
1. 在启动脚本中设置内存参数
*.sh
文件来设置内存参数。以下是一些示例脚本,可以参考:
# 设置最大内存
export JAVA_OPTS="-Xmx1024m"
# 设置最小内存
export JAVA_OPTS="-Xms512m"
# 设置堆外内存
export JAVA_OPTS="-XX:MaxDirectMemorySize=512m"
*.bat
文件来设置内存参数。以下是一些示例脚本,可以参考
# 设置最大内存
set JAVA_OPTS="-Xmx1024m"
# 设置最小内存
set JAVA_OPTS="-Xms512m"
# 设置堆外内存
set JAVA_OPTS="-XX:MaxDirectMemorySize=512m"
2. 在 application.properties 或 application.yml 文件中设置内存参数
# 设置最大内存
spring.datasource.tomcat.max-active=1024
# 设置最小内存
spring.datasource.tomcat.min-idle=512
# 设置堆外内存
tomcat.tomcat.max-connections=512
# 设置最大内存
spring:
datasource:
tomcat:
max-active: 1024
# 设置最小内存
min-idle: 512
# 设置堆外内存
tomcat:
max-connections: 512
3常用的内存参数
-
*Xmx*
:设置最大堆内存大小。例如:-Xmx1024m
-
*Xms*
:设置最小堆内存大小。例如:-Xms512m
-
*XX:MaxDirectMemorySize*
:设置堆外内存大小。例如:-XX:MaxDirectMemorySize=512m
-
*Xss*
:设置线程栈内存大小。例如:-Xss256k -
*XX:PermSize*
:设置永久代内存大小(仅适用于 JDK 8 及更早版本)。例如:-XX:PermSize=256m
-
*XX:MaxPermSize*
:设置永久代内存最大大小(仅适用于 JDK 8 及更早版本)。例如:-XX:MaxPermSize=512m
-
*XX:MaxMetaspaceSize*
:设置元空间内存大小(适用于 JDK 8 及更高版本)。例如:-XX:MaxMetaspaceSize=256m
4如何优化 Spring Boot 应用程序的内存使用
-
减小字段和方法数量。 在项目中杜绝过度使用静态方法和静态变量(尤其是单例模式)。 -
使用基本数据类型替代包装类型(如使用int替代Integer)。 -
关闭开发模式。 在生产环境中关闭 Spring Boot 的开发模式可以节约内存使用。 -
使用缓存机制。 使用缓存机制可以减少应用程序的内存使用。 -
考虑使用连接池。 连接池可以减少应用程序的内存使用,提高效率。
5结论
推荐阅读:
面试 Dubbo ,却问我和 SpringCloud 有什么区别?
互联网初中高级大厂面试题(9个G) 内容包含Java基础、JavaWeb、MySQL性能优化、JVM、锁、百万并发、消息队列、高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper......等技术栈!
⬇戳阅读原文领取! 朕已阅