Xmx标志的配置
Configuration of the Xmx flag
运行 环境中的 Java 微服务必须 make/decide 一些配置。
我现在指的配置是如何设置Xmx标志。
我认为您选择的任何类型的实例,都必须为系统和其他程序留出一些 RAM。
我有一个 t2.medium (4 GB) AWS EB,我将 Java 微服务的 Xmx 标志配置为 3 GB。
加载后,提交的内存达到 3.0 GB 以上,大约 3.1 GB。有很多空闲内存。问题是 AWS EB 报告 97% RAM,这意味着剩余内存用于 CloudWatch Agent、NGINX、Linux,可能还用于其他用途。
如果值达到或超过 100%,某些东西可能会由于 RAM 使用率高而被 Linux 内核杀死。
问题:您是否知道根据机器的总可用 RAM 选择 Xmx 标志值的最佳实践?你是通过实验来决定的吗?
谢谢
没有调优JVM 的公式。它高度依赖于每台特定的机器、应用程序、应用程序服务器和最终用户的使用模式。建议您将 Xmx 和 Xms 设置为相同的值。您应该使用 JProfiler 或 Visual VM 尝试不同的值和配置文件 JVM。 This 是一篇Liferay JVM调优的文章。希望它对您有用并能给您带来一些想法。
运行 环境中的 Java 微服务必须 make/decide 一些配置。 我现在指的配置是如何设置Xmx标志。 我认为您选择的任何类型的实例,都必须为系统和其他程序留出一些 RAM。 我有一个 t2.medium (4 GB) AWS EB,我将 Java 微服务的 Xmx 标志配置为 3 GB。 加载后,提交的内存达到 3.0 GB 以上,大约 3.1 GB。有很多空闲内存。问题是 AWS EB 报告 97% RAM,这意味着剩余内存用于 CloudWatch Agent、NGINX、Linux,可能还用于其他用途。
如果值达到或超过 100%,某些东西可能会由于 RAM 使用率高而被 Linux 内核杀死。
问题:您是否知道根据机器的总可用 RAM 选择 Xmx 标志值的最佳实践?你是通过实验来决定的吗?
谢谢
没有调优JVM 的公式。它高度依赖于每台特定的机器、应用程序、应用程序服务器和最终用户的使用模式。建议您将 Xmx 和 Xms 设置为相同的值。您应该使用 JProfiler 或 Visual VM 尝试不同的值和配置文件 JVM。 This 是一篇Liferay JVM调优的文章。希望它对您有用并能给您带来一些想法。