求助>Native Memory Tracking中 显示Internal 增长最多,请教一下这个区域的内容怎么查看>
1回复
3周前

Native Memory Tracking中 显示Internal 增长最多,请教一下这个区域的内容怎么查看



第一次
抓取 内存增长信息
Native Memory Tracking:

Total: reserved=2661MB +47MB, committed=1468MB +50MB

  •             Java Heap (reserved=1024MB, committed=1024MB)
                          (mmap: reserved=1024MB, committed=1024MB)
    
  •                 Class (reserved=1130MB +2MB, committed=117MB +2MB)
                          (classes #18686 -1)
                          (malloc=8MB #33785 +3503)
                          (mmap: reserved=1122MB +2MB, committed=110MB +2MB)
    
  •                Thread (reserved=156MB +38MB, committed=156MB +38MB)
                          (thread #156 +38)
                          (stack: reserved=156MB +38MB, committed=156MB +38MB)
    
  •                  Code (reserved=257MB +1MB, committed=77MB +4MB)
                          (malloc=14MB +1MB #17525 +1790)
                          (mmap: reserved=244MB, committed=63MB +3MB)
    
  •                    GC (reserved=43MB, committed=43MB)
                          (malloc=6MB #176 -16)
                          (mmap: reserved=37MB, committed=37MB)
    
  •              Compiler (reserved=1MB, committed=1MB)
    
  •              Internal (reserved=15MB +3MB, committed=15MB +3MB)
                          (malloc=15MB +3MB #23047 +712)
    
  •                Symbol (reserved=26MB, committed=26MB)
                          (malloc=23MB #239751 -73)
                          (arena=4MB #1)
    
  • Native Memory Tracking (reserved=5MB, committed=5MB)
    (tracking overhead=5MB)

  •           Arena Chunk (reserved=3MB +3MB, committed=3MB +3MB)
                          (malloc=3MB +3MB)
    

[0x00007f8366494105] CodeBlob::set_oop_maps(OopMapSet*)+0xe5
[0x00007f836649464b] CodeBlob::CodeBlob(char const*, CodeBuffer*, int, int, int, int, OopMapSet*)+0xcb
[0x00007f8366907c5e] nmethod::nmethod(Method*, int, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int)+0x4e
[0x00007f83669085f9] nmethod::new_nmethod(methodHandle, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int)+0x289
(malloc=13MB +1MB #16532 +1752)

[0x00007f8366a51877] ObjectSynchronizer::omAlloc(Thread*)+0x5a7
[0x00007f8366a5193d] ObjectSynchronizer::inflate(Thread*, oopDesc*)+0x4d
[0x00007f8366a52511] ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)+0x71
[0x00007f83669e2430] SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)+0x90
(malloc=2MB +2MB #91 +84)

[0x00007f8366a51877] ObjectSynchronizer::omAlloc(Thread*)+0x5a7
[0x00007f8366a51a88] ObjectSynchronizer::inflate(Thread*, oopDesc*)+0x198
[0x00007f8366a52511] ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)+0x71
[0x00007f83669e2430] SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)+0x90
(malloc=1MB +1MB #31 +30)

[0x00007f83662fa995] ChunkPool::allocate(unsigned long, AllocFailStrategy::AllocFailEnum)+0x125
[0x00007f83662f8b7b] Chunk::operator new(unsigned long, AllocFailStrategy::AllocFailEnum, unsigned long)+0x5b
[0x00007f83662f9a96] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0x46
[0x00007f83668d825a] DataLayout::data_in()+0x16a
(malloc=1MB +1MB #33 +33)

[0x00007f83662fa995] ChunkPool::allocate(unsigned long, AllocFailStrategy::AllocFailEnum)+0x125
[0x00007f83662f8b7b] Chunk::operator new(unsigned long, AllocFailStrategy::AllocFailEnum, unsigned long)+0x5b
[0x00007f83662f9a96] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0x46
[0x00007f83668d82ba] DataLayout::data_in()+0x1ca
(malloc=1MB +1MB #20 +20)

[0x00007f8366ae1f26] ReservedSpace::initialize(unsigned long, unsigned long, bool, char*, unsigned long, bool)+0x256
[0x00007f8366ae258c] ReservedCodeSpace::ReservedCodeSpace(unsigned long, unsigned long, bool)+0x2c
[0x00007f8366635ae5] CodeHeap::reserve(unsigned long, unsigned long, unsigned long)+0xa5
[0x00007f836649a080] CodeCache::initialize()+0x80
(mmap: reserved=240MB, committed=62MB +3MB)

[0x00007f8366ae1f26] ReservedSpace::initialize(unsigned long, unsigned long, bool, char*, unsigned long, bool)+0x256
[0x00007f8366ae1fcb] ReservedSpace::ReservedSpace(unsigned long, unsigned long, bool, char*, unsigned long)+0x1b
[0x00007f83668c158a] VirtualSpaceNode::VirtualSpaceNode(unsigned long)+0x17a
[0x00007f83668c1e4a] VirtualSpaceList::create_new_virtual_space(unsigned long)+0x5a
(mmap: reserved=98MB +2MB, committed=97MB +2MB)

[0x00007f8366a94e34] JavaThread::run()+0x24
[0x00007f8366943cc8] java_start(Thread*)+0x108
(mmap: reserved=148MB +38MB, committed=148MB +38MB)

第二次抓取
1:

Native Memory Tracking:

Total: reserved=2737MB +124MB, committed=1550MB +131MB

  •             Java Heap (reserved=1024MB, committed=1024MB)
                          (mmap: reserved=1024MB, committed=1024MB)
    
  •                 Class (reserved=1136MB +8MB, committed=125MB +9MB)
                          (classes #20140 +1453)
                          (malloc=8MB #34485 +4203)
                          (mmap: reserved=1128MB +8MB, committed=118MB +9MB)
    
  •                Thread (reserved=173MB +54MB, committed=173MB +54MB)
                          (thread #172 +54)
                          (stack: reserved=172MB +54MB, committed=172MB +54MB)
                          (malloc=1MB #861 +270)
    
  •                  Code (reserved=258MB +1MB, committed=81MB +8MB)
                          (malloc=14MB +1MB #18437 +2702)
                          (mmap: reserved=244MB, committed=67MB +7MB)
    
  •                    GC (reserved=43MB, committed=43MB)
                          (malloc=6MB #178 -14)
                          (mmap: reserved=37MB, committed=37MB)
    
  •              Compiler (reserved=1MB, committed=1MB)
    
  •              Internal (reserved=67MB +55MB, committed=67MB +55MB)
                          (malloc=67MB +55MB #25120 +2785)
    
  •                Symbol (reserved=28MB +1MB, committed=28MB +1MB)
                          (malloc=24MB +1MB #254982 +15158)
                          (arena=4MB #1)
    
  • Native Memory Tracking (reserved=5MB, committed=5MB)
    (tracking overhead=5MB)

  •           Arena Chunk (reserved=3MB +3MB, committed=3MB +3MB)
                          (malloc=3MB +3MB)
    

[0x00007f8366494105] CodeBlob::set_oop_maps(OopMapSet*)+0xe5
[0x00007f836649464b] CodeBlob::CodeBlob(char const*, CodeBuffer*, int, int, int, int, OopMapSet*)+0xcb
[0x00007f8366907c5e] nmethod::nmethod(Method*, int, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int)+0x4e
[0x00007f83669085f9] nmethod::new_nmethod(methodHandle, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, int)+0x289
(malloc=14MB +1MB #17310 +2530)

[0x00007f8366a4cc11] Symbol::operator new(unsigned long, int, Thread*)+0xd1
[0x00007f8366a4db50] SymbolTable::allocate_symbol(unsigned char const*, int, bool, Thread*)+0x80
[0x00007f8366a4f5fe] SymbolTable::basic_add(ClassLoaderData*, constantPoolHandle, int, char const**, int*, int*, unsigned int*, Thread*)+0x1fe
[0x00007f8366a4fa74] SymbolTable::add(ClassLoaderData*, constantPoolHandle, int, char const**, int*, int*, unsigned int*, Thread*)+0xc4
(malloc=14MB +1MB #248677 +14363)

[0x00007f8366ab3c53] Unsafe_AllocateMemory+0xc3
[0x00007f83510186c7]
(malloc=52MB +51MB #95 +67)

[0x00007f8366a51877] ObjectSynchronizer::omAlloc(Thread*)+0x5a7
[0x00007f8366a5193d] ObjectSynchronizer::inflate(Thread*, oopDesc*)+0x4d
[0x00007f8366a52511] ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)+0x71
[0x00007f83669e2430] SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)+0x90
(malloc=2MB +2MB #105 +98)

[0x00007f8366a51877] ObjectSynchronizer::omAlloc(Thread*)+0x5a7
[0x00007f8366a51a88] ObjectSynchronizer::inflate(Thread*, oopDesc*)+0x198
[0x00007f8366a52511] ObjectSynchronizer::fast_enter(Handle, BasicLock*, bool, Thread*)+0x71
[0x00007f83669e2430] SharedRuntime::complete_monitor_locking_C(oopDesc*, BasicLock*, JavaThread*)+0x90
(malloc=1MB +1MB #38 +37)

[0x00007f83662fa995] ChunkPool::allocate(unsigned long, AllocFailStrategy::AllocFailEnum)+0x125
[0x00007f83662f8b7b] Chunk::operator new(unsigned long, AllocFailStrategy::AllocFailEnum, unsigned long)+0x5b
[0x00007f83662f9a96] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0x46
[0x00007f83668d825a] DataLayout::data_in()+0x16a
(malloc=1MB +1MB #34 +34)

[0x00007f83662fa995] ChunkPool::allocate(unsigned long, AllocFailStrategy::AllocFailEnum)+0x125
[0x00007f83662f8b7b] Chunk::operator new(unsigned long, AllocFailStrategy::AllocFailEnum, unsigned long)+0x5b
[0x00007f83662f9a96] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0x46
[0x00007f83668d82ba] DataLayout::data_in()+0x1ca
(malloc=1MB +1MB #22 +22)

[0x00007f83662fa995] ChunkPool::allocate(unsigned long, AllocFailStrategy::AllocFailEnum)+0x125
[0x00007f83662f8b7b] Chunk::operator new(unsigned long, AllocFailStrategy::AllocFailEnum, unsigned long)+0x5b
[0x00007f83662f9a96] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0x46
[0x00007f83668d81ca] DataLayout::data_in()+0xda
(malloc=1MB +1MB #20 +20)

[0x00007f83667bfa98] JvmtiClassFileLoadHookPoster::post_to_env(JvmtiEnv*, bool)+0x298
[0x00007f83667b68ff] JvmtiExport::post_class_file_load_hook(Symbol*, Handle, Handle, unsigned char**, unsigned char**, JvmtiCachedClassFileData**)+0x10f
[0x00007f8366479b57] ClassFileParser::parseClassFile(Symbol*, ClassLoaderData*, Handle, KlassHandle, GrowableArray<Handle>, TempNewSymbol&, bool, Thread)+0x2f7
[0x00007f8366a55d3f] SystemDictionary::resolve_from_stream(Symbol*, Handle, Handle, ClassFileStream*, bool, Thread*)+0x14f
(malloc=1MB +1MB #227 +227)

[0x00007f8366ae1f26] ReservedSpace::initialize(unsigned long, unsigned long, bool, char*, unsigned long, bool)+0x256
[0x00007f8366ae258c] ReservedCodeSpace::ReservedCodeSpace(unsigned long, unsigned long, bool)+0x2c
[0x00007f8366635ae5] CodeHeap::reserve(unsigned long, unsigned long, unsigned long)+0xa5
[0x00007f836649a080] CodeCache::initialize()+0x80
(mmap: reserved=240MB, committed=66MB +7MB)

[0x00007f8366ae1f26] ReservedSpace::initialize(unsigned long, unsigned long, bool, char*, unsigned long, bool)+0x256
[0x00007f8366ae1fcb] ReservedSpace::ReservedSpace(unsigned long, unsigned long, bool, char*, unsigned long)+0x1b
[0x00007f83668c158a] VirtualSpaceNode::VirtualSpaceNode(unsigned long)+0x17a
[0x00007f83668c1e4a] VirtualSpaceList::create_new_virtual_space(unsigned long)+0x5a
(mmap: reserved=104MB +8MB, committed=104MB +8MB)

[0x00007f8366a94e34] JavaThread::run()+0x24
[0x00007f8366943cc8] java_start(Thread*)+0x108
(mmap: reserved=164MB +54MB, committed=164MB +54MB)

[0x00007f8366ae1d92] ReservedSpace::initialize(unsigned long, unsigned long, bool, char*, unsigned long, bool)+0xc2
[0x00007f8366ae1fcb] ReservedSpace::ReservedSpace(unsigned long, unsigned long, bool, char*, unsigned long)+0x1b
[0x00007f83668c0d80] Metaspace::allocate_metaspace_compressed_klass_ptrs(char*, unsigned char*)+0x40
[0x00007f83668c325f] Metaspace::global_initialize()+0x4cf
(mmap: reserved=1024MB, committed=14MB +1MB)

568 阅读
请先登录,再评论

回复列表

零一3周前

java.version = 1.8.0_162
jvm运行参数,之前发现生成了很多的 sun.reflect.GeneratedMethodAccessor 类,就添加了参数 -Dsun.reflect.noInflation=false -Dsun.reflect.inflationThreshold=2147483647

VM Flags:
Non-default VM flags: -XX:CICompilerCount=3 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=null -XX:InitialHeapSize=1073741824 -XX:MaxHeapSize=1073741824 -XX:MaxNewSize=357564416 -XX:MetaspaceSize=268435456 -XX:MinHeapDeltaBytes=524288 -XX:NativeMemoryTracking=null -XX:NewSize=357564416 -XX:OldSize=716177408 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC 

Command line: -Xms1024m -Xmx1024m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NativeMemoryTracking=detail -XX:+PrintGCTimeStamps -Dsun.reflect.noInflation=false -Dsun.reflect.inflationThreshold=2147483647 -XX:MetaspaceSize=256M -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/polyapi-downloadnorm.hprof