G1的垃圾收集器比默认的要好得多,但其清理时间过长,26分钟3小时的运行后清理:
SUCCESS
Elapsed time: 186m21.5s
all done, exiting...
[GC concurrent-mark-end, 1626.1982305 secs]
[GC remark, 12.3848395 secs]
[GC cleanup 14G->14G(16G), 1.6514012 secs]
该方案是关于与RAM 16G 4核处理器上运行,它仅使用一个线程(主)。一个核心总是很忙,大概与OS(Ubuntu Linux操作系统,值得信赖的);当程序运行时,系统监视器显示了其他3芯的少于100%的负载。
该程序从一个bash shell启动。没有任何其他的软件与程序并行运行。
有没有办法减少程序终止后所花费的时间的方法吗?
它得到了更好的后添加以下代码终止处理:
String command = "kill -9 "
+ new File("/proc/self").getCanonicalFile().getName();
Runtime.getRuntime().exec(command);