您的位置:首页 > 其它

I/dalvikvm: Total arena pages for JIT: 是什么意思?

2016-05-16 11:17 633 查看
http://androidren.com/index.php?qa=390&qa_1=i-dalvikvm-total-arena-pages-for-jit-%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F

有时候会遇到下面的log:

02-12 20:06:18.515  11470-11470/? D/dalvikvm﹕ GC_EXTERNAL_ALLOC freed 3K, 48% free 3188K/6023K, external 7949K/8580K, paused 29ms

02-12 20:06:18.804  11470-11470/? D/dalvikvm﹕ GC_EXTERNAL_ALLOC freed <1K, 48% free 3189K/6023K, external 13255K/13400K, paused 28ms

02-12 20:06:19.406  11470-11470/? D/dalvikvm﹕ GC_EXTERNAL_ALLOC freed <1K, 48% free 3189K/6023K, external 14706K/16754K, paused 56ms

02-12 20:06:19.914  11470-11475/? I/dalvikvm﹕ Total arena pages for JIT: 11

他是什么意思呢?需要做什么处理?

What actually 'arena' is?

You can read about it here or here.
In a few words, it is a concept for the memory management in a multithreaded application. Memory is divided into arenas (regions, areas). Each allocation arena has its own lock, so multiple threads don't interfere with each other when they allocate memory
at one time.

Why did I see this message? Am I the Chosen One?

No, I don't think so. =) I'm not really sure, but it seems just like an internal warning from the JIT that it has allocated a large number of memory blocks.

Internally this arena-based malloc is built upon a linked list. I.e. each arena is implemented as a linked list of large blocks of memory. The current block (
currentArena
)
maintains a pointer to the next free position in the block (
&(currentArena->ptr[currentArena->bytesAllocated])
),
and if the block is filled (see <0>), a new one is allocated (see <1>) and added to the list (see <2>).

原文:

http://stackoverflow.com/questions/21733398/total-arena-pages-for-jit-what-does-it-mean
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: