我正在尝试在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
答案 0 :(得分:18)
GC_CONCURRENT
堆(几乎)已满。因此,并发GC启动
freed 510K
- 释放的内存量
57% free
- 释放%2529K/5831K
- 堆中的实际内存external 716K/1038K
- 外部分配的内存(不在dvm中的内存)paused 8ms+5ms
- GC的时间特别是“暂停”的部分
对于并发收集,有两个暂停时间。一个是集合的开头,另一个是结束。对于非并发收集,只有一个暂停时间。
答案 1 :(得分:5)