我正在尝试在虚拟主机上构建一个大型Maven-GWT项目,该项目具有极限RAM并且无法使用交换空间。
GWT编译阶段(它计算排列)使用了大量的CPU和内存,我想知道是否有任何方法可以限制它使用的每个数量,即使它需要很多编译的时间更长。
由于
答案 0 :(得分:5)
如果您使用多个工作线程,请将其减少到只有一个工作线程 - 这将减少所需的内存。但是,编译速度会相应变慢。否则,您无法减少内存需求。将xmx设置为较小的数字也会起作用,但如果它太低则会导致OOME。我认为大约256m是最小的,128m适用于大多数中小型项目。
将-Dgwt-plugin.localWorkers="1"
和-Dgwt-plugin.extraJvmArgs="-Xmx128m -Xms16m"
添加到您的MAVEN_OPTS
,然后调整这些数字,直到它运作良好。