百度和Google了下,发现很多解决方案都是写个程序强制性耗尽系统物理内存,逼迫系统开始使用虚拟内存,然后开始安装
方法如下:
使用javac编译java文件:memery.java
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
public class memery {
public static void main(String[] args) throws InterruptedException {
try{
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
for (int i = 0; i < 200; i++) {
for (int j = 0; j < 100000000; j++) {
list.add(new HashMap<String, String>());
}
}
}catch(Exception ex)
{}
System.out.println("Memery is alloted");
while(true){
Thread.sleep(50000);
}
}
}
如果在mac下面编译不过,可以在其他地方编译好(Windows上的Myeclipse),然后复制到mac上面。
然后在终端使用java命令运行:java memery
如果你的mac OS上只装了jre 6,那么可能效果会不理想,运行一会程序已经out of Memery,而系统内存依然没有用完,解决方法就是安装jdk 1.7。