小编Jim*_*ack的帖子

有没有办法在Java中安排完整的垃圾收集?

我有一个24x6计划运行的应用程序.目前,在运行几天后,将自动执行Full GC - 通常在一天的繁忙时段执行,这会对用户响应时间产生负面影响.

我想做的是强制使用全GC - 可能在每晚的午夜,在极低的使用时间内 - 以防止它在白天发生.我已经尝试过System.gc(),但它似乎并不能保证何时会发生Full GC,或者即使它会发生.有没有办法做到这一点?

版本信息:

Java(TM)SE运行时环境(版本1.6.0_11-b03)
Java HotSpot(TM)服务器VM(版本11.0-b16,混合模式)

另外 -

  • 小型GC正在运行,大约每10-15秒运行一次.但这些都没有释放足够的RAM来让应用程序整整一周.当Full GC确实发生时,将释放近50%的堆.
  • 关于上述内容,调用System.gc()似乎并不意味着任何下一个GC都将具有释放那些大量内存所需的Full格式.是的,它已启用(或未启用,具体取决于您阅读-XX选项的方式).
  • 我已经玩了几个CMS GC设置,这有很大帮助,但没有解决问题.最初它每周投掷两次到三次OOM.
  • 我想停止无限循环:
    • 不断增加堆空间 - 这只能持续这么久
    • 不断调整和测试GC设置 - 它已经超过了收益递减点
  • 我不想把它当成NT机器并且每晚都反弹.整个晚上都有活跃的用户会话,弹出应用程序意味着会丢失会话数据.

更具体地说,我正在寻找一种技术来确保Full GC将要发生,而不是一个简单的方法/函数来调用它来运行它.

目前,我正在考虑修改CMS使用的百分比阈值,以确定何时需要完整GC.

谢谢你的帮助.

java garbage-collection

14
推荐指数
2
解决办法
8699
查看次数

如何安全地清理root的.cpan文件夹?

我有一个开发类Linux服务器,它已被用于大量的Perl代码创建和测试.在这台机器上是一个/ root文件夹,它是/ partition的一部分,并且有一个.cpan文件夹 - 目前占用了近1TB的磁盘空间.我们一直在/分区上有可用空间问题,我想'清理'这个.cpan文件夹.build子目录有100个子文件夹,它们似乎已经安装了CPAN模块.删除它们是否安全?我可以在cpan内部使用选项/命令来检查或协助清理吗?

我检查了几个手册页和在线搜索,但我不确定在不影响系统的情况下可以删除哪些内容.是否有我可以更改的设置,以便将来保持此文件夹清洁?

谢谢.

perl

5
推荐指数
2
解决办法
3040
查看次数

标签 统计

garbage-collection ×1

java ×1

perl ×1