tomcat jvm垃圾回收时机,可以通过配置指定么?

系统运行期间,有的时候突然会慢一下。很快又会恢复。

我的看法是,当时jvm在做gc,不知道可以配置进行垃圾回收的时机不?

Tomcat不是JVM,也无法控制JVM GC的时机。但是像Sun的JRE 1.6.0 update 14之后包含了G1 GC,它可以减少GC的停顿时间,而且可以设置GC停顿时间的目标,非常有用。JRockit Real Time也可以配置GC停顿时间的上限,也值得一试。别的一些JVM也有可能提供了类似选项,可以关注。

要使用Sun的JRE的G1 GC,启动JVM时给参数-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
设置目标停顿时间长度给参数-XX:MaxGCPauseMillis=你指定的毫秒数
设置目标停顿间隔时间长度给参数-XX:GCPauseIntervalMillis=你指定的毫秒数
停顿间隔时间是说每隔多长时间可以接受一次GC停顿
其它参数可以参考官网:[url]http://java.sun.com/javase/technologies/hotspot/gc/g1_intro.jsp[/url]

不可以,只能设置初始和最大heap大小,或者stack大小之类,GC的回收时机是不能选择,所以程序中不能有依赖回收时间的代码。