我啓動了我的JRuby IRB控制檯和類型:JRuby - 如何啓動垃圾回收器?
irb(main):037:0* GC.enable
(irb):37 warning: GC.enable does nothing on JRuby
=> true
irb(main):038:0> GC.start
=> nil
irb(main):039:0>
我如何可以手動啓用或程序中啓動JVM的垃圾?
我問,因爲我有一個程序需要生成約500 MBytes的測試數據並將其保存在MySQL中。該程序使用大約5級嵌套循環,並且在生成大約100 MBytes的測試數據後,由於沒有更多堆內存,它會因JVM內存堆異常而崩潰。我想讓外部循環的每次運行之後讓垃圾收集器運行,以便可以清理內部循環中創建的所有孤立對象。
這不太可能有幫助,因爲如果JVM耗盡內存,它會在放棄之前運行GC。你可能需要確保你沒有持有引用超過他們需要和/或增加堆大小。 – theglauber