在Google Compute Engine实例上自定义Java堆大小

时间:2016-04-08 17:05:37

标签: java google-app-engine jvm google-compute-engine heap-size

我有一个计算密集型应用程序(它执行一些数值方法操作,因此通过此代码可以很大程度地消耗堆大小)并且当在Google App Engine上运行它会抛出:“java.lang。 OutOfMemoryError:Java堆空间“。甚至Google App Engine也会假装自动扩展以满足应用程序要求,这在堆大小方面不会发生。我尝试在Google Compute Engine上创建一些实例,例如“具有60 GB内存的16 VCPU”并仍然出现该错误,因为我怀疑即使此实例使用的堆大小也小于1 GB。所以我的问题是:如何在Google Compute Instances或Google App Engine上自定义堆大小,以便我可以设置2 GB的堆大小?

由于

索林

1 个答案:

答案 0 :(得分:0)

在Google App Engine上,您有limited to 1GB of RAM个最大的保险类型,因此如果您需要超过1GB的RAM,则需要使用计算引擎或App Engine Flexible Environment

在VM上运行时,您需要设置the -Xmx and -Xms标志来分别控制最大和最小堆大小。

请注意,您可能需要使用java64才能使用超过4GB的内存。