Java 垃圾收集调优

文章讲述了Java的垃圾收集机制如何自动回收内存,以及在Windchill系统中如何通过WCA进行垃圾收集器的性能调优,包括调整并行线程数量以减少暂停时间和提高服务器性能。并提供了计算并行线程数的公式,以及设置线程数时应考虑的边界条件。
摘要由CSDN通过智能技术生成

垃圾收集器会自动回收内存以供重复使用,但需要进行性能调优。

Java 垃圾收集:
在垃圾收集过程中,活动对象会被追踪,而其他所有内容都会被指定为垃圾,并将内存返
回至可用内存池。
垃圾收集器必须暂停执行应用程序,以确保对象树的完整性。
找到的活动对象越多,暂停时间就越长,这样可能会影响到性能。
• Windchill 配置助手 (WCA) 可用于设置垃圾收集并行线程的数量。
并行垃圾收集线程数 = CPU 内核 /JVM 的数量
服务器端 Java 垃圾收集功能使得 Windchill (Java 应用程序 ) 不必明确担心内存分配和取消分配问
题,即可创建新对象,这是因为垃圾收集器会自动回收内存以供重复使用。在垃圾收集过程中,活
动对象会被追踪,而其他所有内容都会被指定为垃圾,并将内存返回至可用内存池。
Java 垃圾收集可消除内存泄漏和其他与内存相关的问题;但是,可能会引入一些与性能相关的问
题。因此,垃圾收集需进行优化才能获得最佳性能。
垃圾收集器必须暂停执行应用程序,以确保对象树的完整性。找到的活动对象越多,暂停时间就越
长,这对响应时间和吞吐量有直接影响。 Java 默认 JVM 收集器利用多个 CPU 和线程的并行执行
来缩短完整垃圾收集的暂停时间。尽管在此期间, Windchill 线程保持完全暂停状态,但垃圾收集
可在很短的时间内完成,从而提高了性能。
Windchill 在单个系统上使用多个 JVM 。优化允许每个 JVM 在完整垃圾收集过程中使用的线程数可
降低处理器争用和垃圾收集费用。
WCA 可用于设置垃圾收集并行线程的数量。
您可以使用以下公式计算并行线程的数量:
• CPU 内核 /JVM 的数量
例如:
系统具有 24 CPU 内核
共有 5 JVM
– 1 个服务器管理器、 3 个方法服务器、 1 个后台方法服务器
垃圾收集线程数 (24/5) = 4.8
去掉小数部分,将最终值改为 4
设置垃圾收集线程数时,存在两个其他条件:
如果最终值大于 8 ,则使用 8
如果最终值小于 1 ,则使用 1

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mango's Louvre

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值