什么是“暂停”? GC_CONCURRENT 日志消息中的值?

发布于 2024-10-09 05:30:56 字数 384 浏览 2 评论 0原文

我正在尝试探索 GingerBread (2.3) 中新的并发垃圾收集器的行为。

有人可以详细解释这些示例日志行(尤其是 GC_CONCURRENT 和 GC_FOR_MALLOC 的“暂停”部分)吗?

12-24 10:20:54.912 D/dalvikvm(  414): GC_CONCURRENT freed 510K, 57% free 2529K/5831K, external 716K/1038K, paused 8ms+5ms

12-24 10:20:54.963 D/dalvikvm(  414): GC_FOR_MALLOC freed 510K, 57% free 2529K/5831K, external 716K/1038K, paused 47ms

I'm trying to explore the behavior of the new concurrent garbage collector in GingerBread (2.3).

Could someone please explain these example log lines in details (especially the "paused" parts of GC_CONCURRENT and GC_FOR_MALLOC)?

12-24 10:20:54.912 D/dalvikvm(  414): GC_CONCURRENT freed 510K, 57% free 2529K/5831K, external 716K/1038K, paused 8ms+5ms

12-24 10:20:54.963 D/dalvikvm(  414): GC_FOR_MALLOC freed 510K, 57% free 2529K/5831K, external 716K/1038K, paused 47ms

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

帅气称霸 2024-10-16 05:30:56
  • GC_CONCURRENT 堆(几乎)已满。因此并发 GC 启动

  • freed 510K - 释放的内存量

  • 57% 可用 - 释放后的内存 %
  • 2529K/5831K - 堆中的实际内存
  • 外部 716K/1038K - 外部分配的内存(不在 dvm 中的内存)
  • 暂停 8ms+5ms - GC 花费的时间

尤其是“暂停”部分

对于并发集合,有两个暂停时间。一个位于集合的开头,另一个位于集合的末尾。对于非并发收集,只有一次暂停时间。

  • GC_CONCURRENT Heap is (almost) full. Therefore concurrent GC kicks in

  • freed 510K - Amount of memory freed

  • 57% free - Memory after freeing %
  • 2529K/5831K - Actual mem in heap
  • external 716K/1038K - Externally allocated memory (memory that is not in dvm)
  • paused 8ms+5ms - time taken for GC

especially the "paused" parts

For concurrent collections there are two pause times. One is at the beginning of the collection and other towards the end. For non-concurrent collection there will be only one pause time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文