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

时间:2010-12-24 10:31:03

标签: android garbage-collection android-sdk-2.3

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

有人可以详细解释这些示例日志行(特别是GC_CONCURRENTGC_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

2 个答案:

答案 0 :(得分:18)

  • GC_CONCURRENT堆(几乎)已满。因此,并发GC启动

  • freed 510K - 释放的内存量

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

特别是“暂停”的部分

对于并发收集,有两个暂停时间。一个是集合的开头,另一个是结束。对于非并发收集,只有一个暂停时间。

答案 1 :(得分:5)