必须在必须进行某些配置的环境中运行Java微服务。 我现在参考的配置是如何设置Xmx标志。 我认为您选择的任何类型的实例,都必须为系统和其他程序留一些RAM。 我有一个t2.medium(4 GB)AWS EB,并且已将Java微服务的Xmx标志配置为3 GB。 加载后,已提交的内存达到3.0 GB以上的一点,约为3.1 GB。有很多可用内存。问题在于,AWS EB报告的RAM为97%,这意味着剩余的内存用于CloudWatch Agent,NGINX,Linux以及其他用途。
如果值达到或超过100%,则由于RAM的高使用率,Linux内核可能杀死某些东西。
问题:您是否有基于计算机总可用RAM选择Xmx标志值的最佳实践?您是通过实验来决定的吗?
谢谢
答案 0 :(得分:1)
没有用于调整JVM的公式。它高度依赖最终用户的每台特定计算机,应用程序,应用程序服务器和使用模式。建议您为Xmx和Xms设置相同的值。您应该尝试使用其他值,并使用JProfiler或Visual VM来配置JVM。 This是有关Liferay JVM调整的文章。希望它很有用,并为您带来一些想法。