【发布时间】:2023-02-18 05:00:45
【问题描述】:
如果使用 GraalVM Community Edition 编译为本机映像,生产环境通常推荐的堆内存设置是多少?1 个用 Java 编写的微服务?我是否应该同时指定 -xms 和 -xms 以保持最小堆和最大堆大小相同?
【问题讨论】:
标签: graalvm graalvm-native-image spring-native
如果使用 GraalVM Community Edition 编译为本机映像,生产环境通常推荐的堆内存设置是多少?1 个用 Java 编写的微服务?我是否应该同时指定 -xms 和 -xms 以保持最小堆和最大堆大小相同?
【问题讨论】:
标签: graalvm graalvm-native-image spring-native
它说,文档中没有建议
Java 堆大小 执行本机映像时,将根据系统配置和使用的 GC 自动确定合适的 Java 堆设置。要覆盖此自动机制并在运行时显式设置堆大小,可以使用以下命令行选项:
-Xmx - maximum heap size in bytes -Xms - minimum heap size in bytes -Xmn - the size of the young generation in bytes有关完整文档,请参阅here。 JVM内存管理是一个老话题,之前讨论过很多次
how to choose the jvm heap size?
java - best way to determine -Xmx and -Xms required for any webapp & standalone app
长话短说,任何应用程序都没有“一个”数字。有些应用程序可能需要 4GB,有些则需要 64GB,具体取决于“加载”和每个请求使用的数据或操作系统应用程序的运行。在您监视它之后,您可以决定。这并不容易,所以这就是人们最近去 serverless 的原因。
【讨论】: