G1 CG:清理时间长

时间:2019-02-06 06:23:01

标签: java performance garbage-collection jvm

G1垃圾收集器比默认垃圾收集器要好得多,但是它的清理时间过长,在运行3小时后清理了27分钟:

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]

该程序在具有16G RAM的4核处理器上运行,它仅使用一个线程(主线程)。一个核心总是很忙,大概是操作系统(Ubuntu Linux,可信赖);程序运行时,系统监视器显示其他3个内核的负载少于100%。

该程序从bash shell启动。没有其他软件与此程序并行运行。

是否可以减少程序终止后花费的时间?

1 个答案:

答案 0 :(得分:0)

添加以下终止过程的代码后,效果会更好:

String command = "kill -9 "
                 + new File("/proc/self").getCanonicalFile().getName();
Runtime.getRuntime().exec(command);
相关问题