本文档用于总结记录在遇到可能堆外内存溢出情况下,不重启java进程,如何去判断是否有堆外内存溢出的风险,然后如何去定位风险的来源点,如果有帮助点个小赞。
这里准备了一个存在堆外内存溢出java程序,原理使用DirectByteBuffer,申请堆外内存,然后不释放DirectByteBuffer的引用,从而让gc触发后无法正常回收堆外内存。(实际的情况更复杂,这里只总结在黑盒情况下如何去定位到问题来源)
public class Main {
private static List LIST = new ArrayList();
// 长度100
private static byte[] bytes = new byte[100 * 1024 * 1024];
static {
int length = 100 * 1024 * 1024;
for (int i = 0; i < length; i++) {
bytes[i] = 1;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
String in = scanner.nextLine();
try {
if (in != null && in.trim().length() != 0) {
Integer count = Integer.valueOf(in.trim());
// 根据控制台输入的次数去获取堆外内存,每次100M
for (int i = 0; i < count; i++) {
ByteBuffer buffer = ByteBuffer.allocateDirect(100 * 1024 * 1024);
buffer.put(bytes);
LIST.add(buffer);
}
}
System.out.println("当前100M堆外内存数量:"+LIST.size());
} catch (NumberFormatException numberFormatException) {
System.out.println("参数数字转换异常");
}
}
}
}
然后在linux内核系统中以如下参数启动:(500m堆内存限制,6g的堆外内存限制)
java -Xmx500m -XX:MaxDirectMemorySize=6144m -jar mem-bug-1.0-SNAPSHOT.jar
设置堆空间为500m,然后使用控制台申请10次100m内存
JAVA内存比较常见的堆内存溢出,这种情况的溢出往往是内存无法通过gc回收,并且不可回收的内存已经触发了-Xmx
的最大堆空间(年轻代+老年代)限制。因此往往可以通过gc情况去判断。
jps
获取当前java进程id为1627
jcmd
VM.flags
通过上面可以分析得知最大堆内存大小为500M
top
通过对比数据,发现内存的实际RES占用已经达到了2.1G,远远超出了我们查到的500M的堆空间限制,也就是说至少有1.5G的内存是未知的。
jstat -gc
注意FGC栏,次数为0,表示当前进程到目前为止都没有发生过fullGc,也就是堆空间从目前来看,远远没有达到500M的。并且MU的元空间大小也远小于top看到的数值,通过这里基本可以判断目前的内存占用和堆空间以及元空间是无关的。补充:实际情况如果可以的话还是先通过堆内存dump日志查,比如这个案例,就可以通过堆dump查看nio的ByteBuffer的情况,查出是ByteBuffer导致的,堆dump命令:jmap -dump:format=b,file=/path/heap.dump (注意,生产环境请在交易流量入口关闭的情况下进行,当dump下的内存较大时会有STW)
通过上面的判断,已经可以确认当前进程申请了大量的未知堆外内存,可以通过如下方式去查看堆外内存的的更具体点的情况:
pmap -x
| sort -n -k3
从这里可以看到进程占用内存最多的内存地址是:00007ff20efec000,此内存地址大小已经达到了近2G,接下来就是要弄清楚这个近2G的内存占用是如何生成的。
cat /proc/
/smaps > smaps.dump
通过上面的pmap命令找到00007ff20efec000的内存地址起始位置和结束位置,这里为7ff20efec000-7ff28c000000,获取这个连续位置的作用是为了接下来dump这块内存空间
存在风险,会导致进程暂停,在确认没有交易的情况下进行 (没有此命令需要管理安装,centos安装:yum install gdb)
gdb attach
上图命令进入gdb 控制台
dump memory <要保存的地址> 0x<起始位置> 0x<结束位置>
通过上诉命令,将这块内存dump到了文件memory.dump文件中,接下来可以通过工具查看此内存的内容
:strings -1
这里通过strings命令去查看字符长度超过1的字符内容,但很明显查看不出什么(因为这里案例的内存内容都是byte1)
hexdump -C
这里通过-C每个字节显示为16进制和相应的ASCII字符的方式查看,第一行是偏移量,通过这里可以看出整个内容的包含大量的01,如果在实际业务中01表示有特殊意义的话,基本可以定位到大概代码内容。从而找到问题所在。
如果在更复杂的情况下,单凭数据的内容是不一定能查找到原因的,当在内存还在不断增长的情况下,可以尝试通过非java的方式去监控java进程向系统申请内存的情况。原理通过使用自己实现的libtcmalloc.so来替换原有的内存分配函数, 来达到监控内存分配的目的
这里可以使用google的性能分析工具gperftools
的heap-checker
github地址:https://github.com/gperftools/gperftools
但这种方式对性能是有影响的,预估30%的性能损耗,同时可能有其他风险,最好不要在生产环境使用,可以在测试环境复现使用或者分流量给特定的机器使用
如果没有编译会报错:g++: command not found,没有安装的可以通过 :yum -y install gcc gcc-c++ 安装
# wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99.tar.gz
# tar -xzvf libunwind-0.99.tar.gz
# cd libunwind-0.99
# ./configure --prefix=/home/common/mem/google-perftools/local/libunwind
# make && make install
–prefix 根据自己情况来指定安装地址
# wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.6.1/gperftools-2.6.1.tar.gz
# tar -xzvf gperftools-2.6.1.tar.gz
# cd gperftools-2.6.1
# ./configure --prefix=/home/common/mem/google-perftools/local/perftools
# make && make install
需要管理员
# vim /etc/ld.so.conf.d/usr_local_lib.conf
新增以下内容按i
/home/common/mem/google-perftools/local/libunwind/lib
/home/common/mem/google-perftools/local/perftools/lib
按esc再:wq! #保存退出
使命令生效,需要管理员
# /sbin/ldconfig
export LD_PRELOAD=/home/common/mem/google-perftools/local/perftools/lib/libtcmalloc.so
export HEAPPROFILE=/home/common/mem/dump/
如上,所以的内存申请情况会被输出到/home/common/mem/dump/下(注意要提前创建好这个文件夹),如果是脚本方式启动,可以配置在脚本中.
LD_PRELOAD是Linux系统的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库。这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。
经过安装和环境变量设置后就按正常的方式重启java进程即可
如上,进行了一次内存申请,并记录到了指定文件
/home/common/mem/google-perftools/local/perftools/bin/pprof /bin/ls --text .0001.heap
分析内容见**<附件1>**分析出的内容
接下来的分析实用范围仅用于本次案例
从分析得知,申请内存最多的是os::malloc@905260函数,但这不是java函数,然后0x00007f6c58e156c6也是调用高的,但这里只有函数地址,没有函数名,gdp也查不到函数名映射,暂时没有价值,然后是Unsafe_AllocateMemory,这是C语言的函数,通过jni对unsaf类进行的调用,推测调用的函数是
public native long allocateMemory(long var1);
这里进一步把错误给缩小了,但仍然不能完整的显示调用栈,但可以通过arthas去监控这个函数的调用情况,从而分析出错误入口:
下载arthas地址:https://github.com/alibaba/arthas/tags
运行命令:
java -jar arthas-boot.jar
这里allocateMemory的入口函数是allocateDirect,所以监控此函数,arthas监控java.*开头的包需要进行设定,在arthas控制台执行
options unsafe true
然后设置延长jobs的后台执行时间(默认为一天的时间,但实际可能1天难以复现,这里延长至2天)
options job-timeout 2d
options可选参数 1d, 2h, 3m, 25s,分别代表天、小时、分、秒
选择监控进程后,进入控制台后监控指定函数的调用,并输出到指定文件,同时如下指定后台监控,10485760是一个过滤值,因为allocateDirect函数会指定一个容量大小,而实际应用中调用这个函数的情况比较多,所以加一个10M的过滤(因为这么大的连续地址,不会太小),然后输出到stack.dump中,等待触发
stack java.nio.ByteBuffer allocateDirect 'params[0]>10485760' >> &
在执行后会显示保存目录 cache location
这时可以使用jobs命令查看后台是否有监控此任务
jobs
可以看到目前有一个后台任务在执行。
execution count 是执行次数,从启动开始已经执行了 1次
timeout date 是超时的时间,到这个时间,任务将会自动超时退出
这时可以先退出控制台,等待监听结果:
quit
如果只是退出当前的连接,可以用
quit
或者exit
命令。Attach到目标进程上的arthas还会继续运行,端口会保持开放,下次连接时可以直接连接上。如果想完全退出arthas,可以执行
stop
命令。
监听一段时间后检查监控到的栈内容可以定位到出问题的代码
这时记得使用重新java -jar arthas-boot.jar进入控制台,然后控制台命令退出此监听job(超时后也会自动退出)
kill
Total: 318.4 MB
300.0 94.2% 94.2% 300.0 94.2% os::malloc@905260
17.9 5.6% 99.8% 17.9 5.6% os::malloc@905400
0.3 0.1% 99.9% 0.3 0.1% readCEN
0.1 0.0% 100.0% 0.1 0.0% _GLOBAL__sub_I_eh_alloc.cc
0.1 0.0% 100.0% 0.1 0.0% updatewindow
0.0 0.0% 100.0% 0.0 0.0% inflateInit2_@b770
0.0 0.0% 100.0% 0.0 0.0% __GI__dl_allocate_tls
0.0 0.0% 100.0% 0.0 0.0% _dl_new_object
0.0 0.0% 100.0% 0.0 0.0% _nl_intern_locale_data
0.0 0.0% 100.0% 0.0 0.0% __tzfile_read
0.0 0.0% 100.0% 0.0 0.0% __GI___strdup
0.0 0.0% 100.0% 0.0 0.0% nss_parse_service_list
0.0 0.0% 100.0% 0.0 0.0% _dl_check_map_versions
0.0 0.0% 100.0% 0.0 0.0% __new_exitfn
0.0 0.0% 100.0% 0.0 0.0% getpwuid
0.0 0.0% 100.0% 0.0 0.0% _dl_map_object_deps
0.0 0.0% 100.0% 0.3 0.1% ZIP_Put_In_Cache0
0.0 0.0% 100.0% 0.0 0.0% __GI___nss_database_lookup
0.0 0.0% 100.0% 0.0 0.0% JLI_MemAlloc
0.0 0.0% 100.0% 0.0 0.0% newEntry.isra.4
0.0 0.0% 100.0% 0.0 0.0% expand_dynamic_string_token
0.0 0.0% 100.0% 0.0 0.0% os::strdup
0.0 0.0% 100.0% 0.0 0.0% Java_java_util_zip_Inflater_init
0.0 0.0% 100.0% 0.0 0.0% add_to_global
0.0 0.0% 100.0% 0.1 0.0% dl_open_worker
0.0 0.0% 100.0% 0.0 0.0% _nl_load_locale_from_archive
0.0 0.0% 100.0% 0.0 0.0% add_name_to_object.isra.2
0.0 0.0% 100.0% 0.0 0.0% __tzstring
0.0 0.0% 100.0% 0.1 0.0% _dlerror_run
0.0 0.0% 100.0% 0.0 0.0% __strdup
0.0 0.0% 100.0% 0.0 0.0% __GI___nss_lookup_function
0.0 0.0% 100.0% 0.0 0.0% __tsearch
0.0 0.0% 100.0% 0.0 0.0% os::realloc
0.0 0.0% 100.0% 0.0 0.0% ParseLocale
0.0 0.0% 100.0% 0.0 0.0% new_composite_name
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e10a50
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e11590
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e11a70
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e15542
0.0 0.0% 100.0% 300.2 94.3% 0x00007f6c58e156c6
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e15c4e
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e15c5c
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e171ba
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e171c8
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e1ec99
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e20b15
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e20b23
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e215d9
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e215e7
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e21d79
0.0 0.0% 100.0% 0.1 0.0% 0x00007f6c58e21d87
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e22039
0.0 0.0% 100.0% 0.1 0.0% 0x00007f6c58e22df8
0.0 0.0% 100.0% 0.1 0.0% 0x00007f6c58e22e06
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e23017
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e23025
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e23428
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e23436
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e25999
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e426b8
0.0 0.0% 100.0% 0.0 0.0% 0x00007f6c58e43359
0.0 0.0% 100.0% 0.0 0.0% AbstractICache::initialize
0.0 0.0% 100.0% 0.0 0.0% AdapterHandlerLibrary::create_native_wrapper
0.0 0.0% 100.0% 0.0 0.0% AdapterHandlerLibrary::get_adapter
0.0 0.0% 100.0% 0.0 0.0% AdapterHandlerLibrary::initialize [clone .part.63]
0.0 0.0% 100.0% 0.0 0.0% AdapterHandlerLibrary::new_entry
0.0 0.0% 100.0% 0.0 0.0% AdaptiveSizePolicy::AdaptiveSizePolicy
0.0 0.0% 100.0% 0.0 0.0% AdjoiningGenerations::AdjoiningGenerations
0.0 0.0% 100.0% 0.0 0.0% AdvancedThresholdPolicy::method_back_branch_event
0.0 0.0% 100.0% 0.0 0.0% AdvancedThresholdPolicy::method_invocation_event
0.0 0.0% 100.0% 0.0 0.0% AdvancedThresholdPolicy::submit_compile
0.0 0.0% 100.0% 0.0 0.0% AllocateHeap [clone .constprop.292]
0.0 0.0% 100.0% 0.4 0.1% Arena::Arena
0.0 0.0% 100.0% 0.5 0.2% Arena::grow
0.0 0.0% 100.0% 0.0 0.0% Arena::operator new
0.0 0.0% 100.0% 0.0 0.0% Arguments::PropertyList_unique_add
0.0 0.0% 100.0% 0.0 0.0% Arguments::add_property
0.0 0.0% 100.0% 0.0 0.0% Arguments::add_string
0.0 0.0% 100.0% 0.0 0.0% Arguments::init_system_properties
0.0 0.0% 100.0% 0.0 0.0% Arguments::init_version_specific_system_properties
0.0 0.0% 100.0% 0.0 0.0% Arguments::parse
0.0 0.0% 100.0% 0.0 0.0% Arguments::parse_each_vm_init_arg
0.0 0.0% 100.0% 0.0 0.0% Arguments::parse_vm_init_args
0.0 0.0% 100.0% 0.0 0.0% Arguments::process_sun_java_launcher_properties
0.0 0.0% 100.0% 0.0 0.0% Arguments::set_mode_flags
0.0 0.0% 100.0% 0.0 0.0% Assembler::jcc
0.0 0.0% 100.0% 0.0 0.0% Assembler::jmpb
0.0 0.0% 100.0% 0.4 0.1% BasicHashtable::new_entry
0.0 0.0% 100.0% 0.0 0.0% BytecodeConstantPool::create_constant_pool
0.0 0.0% 100.0% 0.0 0.0% Bytecode_loadconstant::resolve_constant
0.0 0.0% 100.0% 0.0 0.0% C2Compiler::compile_method
0.0 0.0% 100.0% 0.2 0.1% C2Compiler::initialize
0.0 0.0% 100.0% 0.2 0.0% CHeapObj::operator new
0.0 0.0% 100.0% 0.0 0.0% CHeapObj::operator new [clone .constprop.0]
0.0 0.0% 100.0% 0.0 0.0% CHeapObj::operator new [clone .constprop.28]
0.0 0.0% 100.0% 0.0 0.0% CHeapObj::operator new [clone .constprop.39]
0.0 0.0% 100.0% 0.0 0.0% CHeapObj::operator new [clone .constprop.42]
0.0 0.0% 100.0% 0.0 0.0% CHeapObj::operator new[]
0.0 0.0% 100.0% 0.0 0.0% CardTableModRefBS::CardTableModRefBS
0.0 0.0% 100.0% 0.0 0.0% CardTableModRefBS::initialize
0.0 0.0% 100.0% 0.0 0.0% CheckJvmType
0.0 0.0% 100.0% 0.0 0.0% Chunk::start_chunk_pool_cleaner_task
0.0 0.0% 100.0% 0.5 0.2% ChunkPool::allocate
0.0 0.0% 100.0% 0.5 0.2% ClassFileParser::parseClassFile
0.0 0.0% 100.0% 0.4 0.1% ClassFileParser::parse_constant_pool
0.0 0.0% 100.0% 0.3 0.1% ClassFileParser::parse_constant_pool_entries
0.0 0.0% 100.0% 0.0 0.0% ClassFileParser::parse_interfaces
0.0 0.0% 100.0% 0.0 0.0% ClassLoader::add_package
0.0 0.0% 100.0% 0.3 0.1% ClassLoader::create_class_path_entry
0.0 0.0% 100.0% 0.0 0.0% ClassLoader::create_package_info_table
0.0 0.0% 100.0% 0.0 0.0% ClassLoader::initialize
0.0 0.0% 100.0% 0.8 0.3% ClassLoader::load_classfile
0.0 0.0% 100.0% 0.0 0.0% ClassLoader::load_zip_library
0.0 0.0% 100.0% 0.0 0.0% ClassLoader::setup_meta_index
0.0 0.0% 100.0% 0.0 0.0% ClassLoader::setup_search_path
0.0 0.0% 100.0% 0.0 0.0% ClassLoaderData::ClassLoaderData
0.0 0.0% 100.0% 0.0 0.0% ClassLoaderData::add_handle
0.0 0.0% 100.0% 0.0 0.0% ClassLoaderData::add_to_deallocate_list
0.0 0.0% 100.0% 0.0 0.0% ClassLoaderData::metaspace_non_null
0.0 0.0% 100.0% 0.0 0.0% ClassLoaderDataGraph::add
0.0 0.0% 100.0% 0.0 0.0% ClassLoaderExt::record_result
0.0 0.0% 100.0% 0.0 0.0% ClassLoadingService::init
0.0 0.0% 100.0% 0.0 0.0% ClassPathZipEntry::ClassPathZipEntry
0.0 0.0% 100.0% 0.0 0.0% ClassPathZipEntry::open_stream
0.0 0.0% 100.0% 0.0 0.0% ClassVerifier::verify_class
0.0 0.0% 100.0% 0.0 0.0% ClassVerifier::verify_exception_handler_table
0.0 0.0% 100.0% 0.0 0.0% ClassVerifier::verify_field_instructions
0.0 0.0% 100.0% 0.0 0.0% ClassVerifier::verify_method
0.0 0.0% 100.0% 0.0 0.0% CodeBlob::CodeBlob
0.0 0.0% 100.0% 0.0 0.0% CodeBlob::set_oop_maps [clone .part.5]
0.0 0.0% 100.0% 0.0 0.0% CodeBuffer::create_patch_overflow
0.0 0.0% 100.0% 0.0 0.0% CodeBuffer::initialize
0.0 0.0% 100.0% 0.0 0.0% CodeHeapPool::CodeHeapPool
0.0 0.0% 100.0% 0.0 0.0% CollectedHeap::CollectedHeap
0.0 0.0% 100.0% 0.0 0.0% CollectorCounters::CollectorCounters
0.0 0.0% 100.0% 0.1 0.0% Compilation::Compilation
0.0 0.0% 100.0% 0.1 0.0% Compilation::compile_java_method
0.0 0.0% 100.0% 0.1 0.0% Compilation::compile_method
0.0 0.0% 100.0% 0.1 0.0% Compilation::emit_lir
0.0 0.0% 100.0% 0.1 0.0% Compile::Code_Gen
0.0 0.0% 100.0% 0.2 0.1% Compile::Compile
0.0 0.0% 100.0% 0.1 0.0% Compile::Init
0.0 0.0% 100.0% 0.0 0.0% CompileBroker::compilation_init
0.0 0.0% 100.0% 0.0 0.0% CompileBroker::compile_method
0.0 0.0% 100.0% 0.0 0.0% CompileBroker::compile_method_base
0.0 0.0% 100.0% 0.4 0.1% CompileBroker::compiler_thread_loop
0.0 0.0% 100.0% 0.0 0.0% CompileBroker::create_compile_task
0.0 0.0% 100.0% 0.3 0.1% CompileBroker::init_compiler_runtime
0.0 0.0% 100.0% 0.0 0.0% CompileBroker::init_compiler_threads
0.0 0.0% 100.0% 0.1 0.0% CompileBroker::invoke_compiler_on_method
0.0 0.0% 100.0% 0.0 0.0% CompileBroker::make_compiler_thread
0.0 0.0% 100.0% 0.0 0.0% CompiledIC::compute_monomorphic_entry
0.0 0.0% 100.0% 0.1 0.0% Compiler::compile_method
0.0 0.0% 100.0% 0.0 0.0% Compiler::initialize
0.0 0.0% 100.0% 0.0 0.0% CompilerCounters::CompilerCounters [clone .part.79]
0.0 0.0% 100.0% 0.0 0.0% CompilerThread::CompilerThread
0.0 0.0% 100.0% 0.0 0.0% CompressedClassSpaceCounters::initialize_performance_counters
0.0 0.0% 100.0% 0.0 0.0% CompressedKlassSpacePool::CompressedKlassSpacePool
0.0 0.0% 100.0% 0.1 0.0% ConstantPool::allocate
0.0 0.0% 100.0% 0.0 0.0% ConstantPool::initialize_resolved_references
0.0 0.0% 100.0% 0.2 0.1% ConstantPool::klass_at_impl
0.0 0.0% 100.0% 0.1 0.0% ConstantPool::klass_ref_at
0.0 0.0% 100.0% 0.0 0.0% ConstantPool::resolve_constant_at_impl
0.0 0.0% 100.0% 0.0 0.0% ConstantPool::string_at_impl
0.0 0.0% 100.0% 0.0 0.0% ConstantPool::uncached_string_at
0.0 0.0% 100.0% 0.0 0.0% ContinueInNewThread
0.0 0.0% 100.0% 0.0 0.0% ContinueInNewThread0
0.0 0.0% 100.0% 0.0 0.0% CreateExecutionEnvironment
0.0 0.0% 100.0% 0.0 0.0% DCmdArgument::init_value
0.0 0.0% 100.0% 0.0 0.0% DCmdParser::add_dcmd_option
0.0 0.0% 100.0% 0.0 0.0% DCmdRegistrant::register_dcmds
0.0 0.0% 100.0% 0.0 0.0% DCmdRegistrant::register_dcmds_ext
0.0 0.0% 100.0% 0.0 0.0% DebugInformationRecorder::DebugInformationRecorder
0.0 0.0% 100.0% 0.1 0.0% DefaultMethods::generate_default_methods
0.0 0.0% 100.0% 0.0 0.0% Deoptimization::UnrollBlock::UnrollBlock
0.0 0.0% 100.0% 0.0 0.0% Deoptimization::fetch_unroll_info_helper
0.0 0.0% 100.0% 0.0 0.0% DeoptimizationBlob::create
0.0 0.0% 100.0% 0.0 0.0% Dict::Dict
0.0 0.0% 100.0% 0.0 0.0% Dictionary::Dictionary
0.0 0.0% 100.0% 0.0 0.0% Dictionary::add_klass
0.0 0.0% 100.0% 0.0 0.0% Dictionary::add_protection_domain
0.0 0.0% 100.0% 0.0 0.0% EdenMutableSpacePool::EdenMutableSpacePool
0.0 0.0% 100.0% 0.0 0.0% Events::init [clone .part.7]
0.0 0.0% 100.0% 0.0 0.0% ExceptionBlob::create
0.0 0.0% 100.0% 0.0 0.0% Exceptions::_throw_args
0.0 0.0% 100.0% 0.0 0.0% Exceptions::_throw_msg
0.0 0.0% 100.0% 0.0 0.0% Exceptions::new_exception@56e460
0.0 0.0% 100.0% 0.0 0.0% Exceptions::new_exception@56e9a0
0.0 0.0% 100.0% 0.0 0.0% FilteredFieldsMap::initialize
0.0 0.0% 100.0% 0.0 0.0% GCAdaptivePolicyCounters::GCAdaptivePolicyCounters
0.0 0.0% 100.0% 0.0 0.0% GCMemoryManager::initialize_gc_stat_info
0.0 0.0% 100.0% 0.0 0.0% GCPolicyCounters::GCPolicyCounters
0.0 0.0% 100.0% 0.0 0.0% GCStatInfo::GCStatInfo
0.0 0.0% 100.0% 0.0 0.0% GCStats::GCStats
0.0 0.0% 100.0% 0.0 0.0% GCTaskManager::initialize
0.0 0.0% 100.0% 0.0 0.0% GCTaskThread::GCTaskThread
0.0 0.0% 100.0% 0.0 0.0% GenericGrowableArray::raw_allocate
0.0 0.0% 100.0% 0.0 0.0% GetJavaProperties
0.0 0.0% 100.0% 0.0 0.0% GetLauncherHelperClass
0.0 0.0% 100.0% 0.0 0.0% GlobalTLABStats::GlobalTLABStats
0.0 0.0% 100.0% 0.0 0.0% Handle::Handle
0.0 0.0% 100.0% 0.0 0.0% HandleMark::operator new
0.0 0.0% 100.0% 0.4 0.1% Hashtable::new_entry
0.0 0.0% 100.0% 0.0 0.0% ICacheStubGenerator::generate_icache_flush
0.0 0.0% 100.0% 0.0 0.0% InlineCacheBuffer_init
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::add_dependent_nmethod
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::call_class_initializer_impl
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::do_local_static_fields_impl
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::get_jmethod_id
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::initialize
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::initialize_impl
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::jni_id_for_impl
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::link_class
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::link_class_impl
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::link_class_or_fail
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::link_methods
0.0 0.0% 100.0% 0.0 0.0% InstanceKlass::rewrite_class
0.0 0.0% 100.0% 0.0 0.0% InterpreterMacroAssembler::profile_obj_type
0.0 0.0% 100.0% 0.0 0.0% InterpreterMacroAssembler::profile_return_type
0.0 0.0% 100.0% 0.1 0.0% InterpreterRuntime::_new
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::anewarray
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::frequency_counter_overflow
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::frequency_counter_overflow_inner
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::ldc
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::prepare_native_call
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::quicken_io_cc
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::resolve_get_put
0.0 0.0% 100.0% 0.1 0.0% InterpreterRuntime::resolve_invoke
0.0 0.0% 100.0% 0.0 0.0% InterpreterRuntime::resolve_ldc
0.0 0.0% 100.0% 0.0 0.0% Interval::add_range
0.0 0.0% 100.0% 0.0 0.0% JDK_Version_init
0.0 0.0% 100.0% 0.1 0.0% JLI_Launch
0.0 0.0% 100.0% 0.0 0.0% JLI_StringDup
0.0 0.0% 100.0% 0.0 0.0% JMXStartRemoteDCmd::num_arguments
0.0 0.0% 100.0% 0.0 0.0% JNIHandleBlock::allocate_block
0.0 0.0% 100.0% 17.4 5.5% JNI_CreateJavaVM
0.0 0.0% 100.0% 0.0 0.0% JNU_CallStaticMethodByName
0.0 0.0% 100.0% 0.0 0.0% JNU_NewStringPlatform
0.0 0.0% 100.0% 0.0 0.0% JVM_DefineClassWithSource
0.0 0.0% 100.0% 0.0 0.0% JVM_DoPrivileged
0.0 0.0% 100.0% 0.0 0.0% JVM_FindClassFromBootLoader
0.0 0.0% 100.0% 0.0 0.0% JVM_FindClassFromCaller
0.0 0.0% 100.0% 0.0 0.0% JVM_FindLoadedClass
0.0 0.0% 100.0% 0.1 0.0% JVM_GetClassDeclaredFields
0.0 0.0% 100.0% 0.0 0.0% JVM_GetClassDeclaredMethods
0.0 0.0% 100.0% 0.0 0.0% JVM_GetStackAccessControlContext
0.0 0.0% 100.0% 0.0 0.0% JVM_RawMonitorCreate
0.0 0.0% 100.0% 0.0 0.0% JVM_RegisterMethodHandleMethods
0.0 0.0% 100.0% 0.0 0.0% JVM_RegisterUnsafeMethods
0.0 0.0% 100.0% 0.0 0.0% JVM_StartThread
0.0 0.0% 100.0% 0.0 0.0% JavaCallWrapper::JavaCallWrapper
0.0 0.0% 100.0% 0.0 0.0% JavaCalls::call_helper
0.0 0.0% 100.0% 0.0 0.0% JavaCalls::call_virtual@6858c0
0.0 0.0% 100.0% 0.0 0.0% JavaCalls::call_virtual@6860a0
0.0 0.0% 100.0% 17.4 5.5% JavaMain
0.0 0.0% 100.0% 0.0 0.0% JavaThread::JavaThread
0.0 0.0% 100.0% 0.4 0.1% JavaThread::run
0.0 0.0% 100.0% 0.4 0.1% JavaThread::thread_main_inner
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_ClassLoader_defineClass1
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_ClassLoader_findBootstrapClass
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_Class_forName0
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_System_initProperties
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_System_setErr0
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_System_setIn0
0.0 0.0% 100.0% 0.0 0.0% Java_java_lang_System_setOut0
0.0 0.0% 100.0% 0.1 0.0% Java_java_util_zip_Inflater_inflateBytes
0.0 0.0% 100.0% 0.0 0.0% Java_java_util_zip_ZipFile_getEntry
0.0 0.0% 100.0% 0.0 0.0% Java_java_util_zip_ZipFile_open
0.0 0.0% 100.0% 0.0 0.0% Jfr::on_vm_init
0.0 0.0% 100.0% 0.0 0.0% Jfr::register_jfr_dcmds
0.0 0.0% 100.0% 0.0 0.0% JfrActivator::on_vm_init
0.0 0.0% 100.0% 0.0 0.0% JfrRuntimeOptions::register_parser_options
0.0 0.0% 100.0% 0.0 0.0% Label::add_patch_at
0.0 0.0% 100.0% 0.3 0.1% LazyClassPathEntry::open_stream
0.0 0.0% 100.0% 0.0 0.0% LinearScan::add_use
0.0 0.0% 100.0% 0.0 0.0% LinearScan::assign_reg_num@39f510
0.0 0.0% 100.0% 0.0 0.0% LinearScan::assign_reg_num@39f970
0.0 0.0% 100.0% 0.0 0.0% LinearScan::build_intervals
0.0 0.0% 100.0% 0.0 0.0% LinearScan::compute_debug_info_for_scope
0.0 0.0% 100.0% 0.1 0.0% LinearScan::do_linear_scan
0.0 0.0% 100.0% 0.0 0.0% LinearScan::sort_intervals_before_allocation
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::check_method_loader_constraints
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::linktime_resolve_static_method
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::linktime_resolve_virtual_method
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_field
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_field_access
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_interface_method
0.0 0.0% 100.0% 0.1 0.0% LinkResolver::resolve_invoke
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_invokeinterface
0.0 0.0% 100.0% 0.1 0.0% LinkResolver::resolve_invokestatic
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_invokevirtual
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_method
0.0 0.0% 100.0% 0.0 0.0% LinkResolver::resolve_static_call
0.0 0.0% 100.0% 0.1 0.0% LoadJavaVM
0.0 0.0% 100.0% 0.0 0.0% LoaderConstraintTable::LoaderConstraintTable
0.0 0.0% 100.0% 0.0 0.0% LoaderConstraintTable::add_entry
0.0 0.0% 100.0% 0.0 0.0% MacroAssembler::eden_allocate
0.0 0.0% 100.0% 0.0 0.0% Management::initialize
0.0 0.0% 100.0% 0.1 0.0% Matcher::Label_Root
0.0 0.0% 100.0% 0.0 0.0% Matcher::Matcher
0.0 0.0% 100.0% 0.1 0.0% Matcher::match
0.0 0.0% 100.0% 0.1 0.0% Matcher::match_tree
0.0 0.0% 100.0% 0.1 0.0% Matcher::xform
0.0 0.0% 100.0% 0.0 0.0% MemRegion::operator new[]
0.0 0.0% 100.0% 0.0 0.0% MemoryManager::get_code_cache_memory_manager
0.0 0.0% 100.0% 0.0 0.0% MemoryManager::get_metaspace_memory_manager
0.0 0.0% 100.0% 0.0 0.0% MemoryManager::get_psMarkSweep_memory_manager
0.0 0.0% 100.0% 0.0 0.0% MemoryManager::get_psScavenge_memory_manager
0.0 0.0% 100.0% 0.0 0.0% MemoryPool::MemoryPool
0.0 0.0% 100.0% 0.0 0.0% MemoryService::add_code_heap_memory_pool
0.0 0.0% 100.0% 0.0 0.0% MemoryService::add_metaspace_memory_pools
0.0 0.0% 100.0% 0.0 0.0% MemoryService::add_parallel_scavenge_heap_info
0.0 0.0% 100.0% 0.0 0.0% MemoryService::add_psYoung_memory_pool
0.0 0.0% 100.0% 0.0 0.0% MemoryService::set_universe_heap
0.0 0.0% 100.0% 0.0 0.0% MetaIndex::MetaIndex [clone .part.25]
0.0 0.0% 100.0% 0.0 0.0% Metaspace::Metaspace
0.0 0.0% 100.0% 0.0 0.0% Metaspace::allocate
0.0 0.0% 100.0% 0.0 0.0% Metaspace::allocate_metaspace_compressed_klass_ptrs
0.0 0.0% 100.0% 0.0 0.0% Metaspace::deallocate
0.0 0.0% 100.0% 0.0 0.0% Metaspace::global_initialize
0.0 0.0% 100.0% 0.0 0.0% Metaspace::initialize_class_space
0.0 0.0% 100.0% 0.0 0.0% MetaspaceCounters::initialize_performance_counters
0.0 0.0% 100.0% 0.0 0.0% MetaspacePool::MetaspacePool
0.0 0.0% 100.0% 0.0 0.0% Method::link_method [clone .part.92]
0.0 0.0% 100.0% 0.0 0.0% Method::make_jmethod_id
0.0 0.0% 100.0% 0.0 0.0% MethodFamily::generate_method_message
0.0 0.0% 100.0% 0.0 0.0% MethodHandles::generate_adapters [clone .part.45]
0.0 0.0% 100.0% 0.0 0.0% MonitorSupply::reserve
0.0 0.0% 100.0% 0.0 0.0% MutableSpace::MutableSpace
0.0 0.0% 100.0% 0.0 0.0% NamedThread::NamedThread
0.0 0.0% 100.0% 0.0 0.0% NamedThread::set_name
0.0 0.0% 100.0% 0.0 0.0% Node::clone
0.0 0.0% 100.0% 0.0 0.0% OSContainer::init
0.0 0.0% 100.0% 0.0 0.0% OSThread::OSThread
0.0 0.0% 100.0% 0.0 0.0% OSThread::pd_initialize
0.0 0.0% 100.0% 0.0 0.0% ObjectMonitor::Initialize
0.0 0.0% 100.0% 0.0 0.0% ObjectSynchronizer::inflate
0.0 0.0% 100.0% 0.0 0.0% ObjectSynchronizer::omAlloc
0.0 0.0% 100.0% 0.0 0.0% ObjectSynchronizer::waitUninterruptibly
0.0 0.0% 100.0% 0.2 0.1% OptoRuntime::generate
0.0 0.0% 100.0% 0.0 0.0% OptoRuntime::generate_exception_blob
0.0 0.0% 100.0% 0.2 0.1% OptoRuntime::generate_stub
0.0 0.0% 100.0% 0.0 0.0% PSAdaptiveSizePolicy::PSAdaptiveSizePolicy
0.0 0.0% 100.0% 0.0 0.0% PSGCAdaptivePolicyCounters::PSGCAdaptivePolicyCounters
0.0 0.0% 100.0% 0.0 0.0% PSGenerationCounters::PSGenerationCounters
0.0 0.0% 100.0% 0.0 0.0% PSGenerationPool::PSGenerationPool
0.0 0.0% 100.0% 0.0 0.0% PSOldGen::initialize
0.0 0.0% 100.0% 0.0 0.0% PSOldGen::initialize_work
0.0 0.0% 100.0% 0.0 0.0% PSParallelCompact::initialize
0.0 0.0% 100.0% 10.6 3.3% PSParallelCompact::post_initialize
0.0 0.0% 100.0% 5.0 1.6% PSPromotionManager::PSPromotionManager
0.0 0.0% 100.0% 5.0 1.6% PSPromotionManager::initialize
0.0 0.0% 100.0% 0.0 0.0% PSScavenge::initialize
0.0 0.0% 100.0% 0.0 0.0% PSYoungGen::initialize
0.0 0.0% 100.0% 0.0 0.0% PSYoungGen::initialize_work
0.0 0.0% 100.0% 5.0 1.6% PaddedArray::create_unfreeable
0.0 0.0% 100.0% 5.6 1.8% ParCompactionManager::ParCompactionManager
0.0 0.0% 100.0% 10.6 3.3% ParCompactionManager::initialize
0.0 0.0% 100.0% 0.0 0.0% ParMarkBitMap::initialize
0.0 0.0% 100.0% 0.0 0.0% ParallelCompactData::create_vspace
0.0 0.0% 100.0% 0.0 0.0% ParallelScavengeHeap::initialize
0.0 0.0% 100.0% 10.6 3.3% ParallelScavengeHeap::post_initialize
0.0 0.0% 100.0% 0.0 0.0% ParkEvent::Allocate
0.0 0.0% 100.0% 0.0 0.0% Parker::Allocate
0.0 0.0% 100.0% 0.0 0.0% PerfData::PerfData
0.0 0.0% 100.0% 0.0 0.0% PerfDataList::PerfDataList
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::add_item
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_long_constant
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_long_counter@95e450
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_long_counter@95e9a0
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_long_variable@95dc30
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_long_variable@95e180
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_string_constant
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::create_string_variable
0.0 0.0% 100.0% 0.0 0.0% PerfDataManager::sampled
0.0 0.0% 100.0% 0.0 0.0% PerfMemory::create_memory_region
0.0 0.0% 100.0% 0.0 0.0% PerfStringConstant::PerfStringConstant
0.0 0.0% 100.0% 0.0 0.0% Perf_CreateLong
0.0 0.0% 100.0% 0.0 0.0% PlaceholderTable::PlaceholderTable
0.0 0.0% 100.0% 0.0 0.0% PlaceholderTable::find_and_add
0.0 0.0% 100.0% 0.0 0.0% ProtectionDomainCacheTable::get
0.0 0.0% 100.0% 0.0 0.0% ReferenceProcessor::ReferenceProcessor
0.0 0.0% 100.0% 0.0 0.0% Reflection::get_parameter_types
0.0 0.0% 100.0% 0.1 0.0% Reflection::new_field
0.0 0.0% 100.0% 0.0 0.0% Reflection::new_method
0.0 0.0% 100.0% 0.1 0.0% Reflection::new_type
0.0 0.0% 100.0% 0.0 0.0% ResolutionErrorTable::ResolutionErrorTable
0.0 0.0% 100.0% 0.0 0.0% ResourceObj::operator new
0.0 0.0% 100.0% 0.0 0.0% Rewriter::Rewriter
0.0 0.0% 100.0% 0.0 0.0% Rewriter::rewrite
0.0 0.0% 100.0% 0.0 0.0% Runtime1::generate_blob_for
0.0 0.0% 100.0% 0.0 0.0% Runtime1::generate_code_for
0.0 0.0% 100.0% 0.0 0.0% Runtime1::initialize
0.0 0.0% 100.0% 0.0 0.0% RuntimeService::init
0.0 0.0% 100.0% 0.0 0.0% RuntimeStub::new_runtime_stub
0.0 0.0% 100.0% 0.0 0.0% SafepointBlob::create
0.0 0.0% 100.0% 0.0 0.0% ServiceThread::initialize
0.0 0.0% 100.0% 0.0 0.0% SetExecname
0.0 0.0% 100.0% 0.0 0.0% SetJavaCommandLineProp
0.0 0.0% 100.0% 0.0 0.0% SetJavaLauncherPlatformProps
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_deopt_blob
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_handler_blob
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_i2c2i_adapters
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_native_wrapper
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_resolve_blob
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_stubs
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::generate_uncommon_trap_blob
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::resolve_helper
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::resolve_sub_helper
0.0 0.0% 100.0% 0.0 0.0% SharedRuntime::resolve_virtual_call_C
0.0 0.0% 100.0% 0.0 0.0% SignatureHandlerLibrary::add [clone .part.58]
0.0 0.0% 100.0% 0.0 0.0% SignatureHandlerLibrary::initialize [clone .part.53]
0.0 0.0% 100.0% 0.0 0.0% SimpleThresholdPolicy::compile [clone .part.24]
0.0 0.0% 100.0% 0.0 0.0% SimpleThresholdPolicy::event
0.0 0.0% 100.0% 0.0 0.0% SpaceCounters::SpaceCounters
0.0 0.0% 100.0% 0.0 0.0% StackMapFrame::pop_stack
0.0 0.0% 100.0% 0.0 0.0% StatSampler::create_misc_perfdata
0.0 0.0% 100.0% 0.0 0.0% StatSampler::create_sampled_perfdata
0.0 0.0% 100.0% 0.0 0.0% StatSampler::create_system_property_instrumentation
0.0 0.0% 100.0% 0.0 0.0% StatSampler::engage
0.0 0.0% 100.0% 0.0 0.0% StringTable::basic_add
0.0 0.0% 100.0% 0.0 0.0% StringTable::intern@a37680
0.0 0.0% 100.0% 0.0 0.0% StringTable::intern@a378d0
0.0 0.0% 100.0% 0.0 0.0% StubCodeMark::StubCodeMark
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_aescrypt_decryptBlock
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_aescrypt_encryptBlock
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_all
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_arraycopy_stubs
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_call_stub
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_catch_exception
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_checkcast_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_cipherBlockChaining_decryptAESCrypt_Parallel
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_cipherBlockChaining_encryptAESCrypt
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_conjoint_byte_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_conjoint_int_oop_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_conjoint_long_oop_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_disjoint_byte_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_disjoint_int_oop_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_disjoint_long_oop_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_disjoint_short_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_generic_copy
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_initial
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_math_stubs
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_throw_exception
0.0 0.0% 100.0% 0.0 0.0% StubGenerator::generate_verify_oop
0.0 0.0% 100.0% 0.0 0.0% StubGenerator_generate
0.0 0.0% 100.0% 0.0 0.0% StubRoutines::initialize1 [clone .part.6]
0.0 0.0% 100.0% 0.0 0.0% StubRoutines::initialize2 [clone .part.7]
0.0 0.0% 100.0% 0.0 0.0% SurvivorMutableSpacePool::SurvivorMutableSpacePool
0.0 0.0% 100.0% 0.0 0.0% Symbol::operator new
0.0 0.0% 100.0% 0.0 0.0% SymbolPropertyTable::SymbolPropertyTable
0.0 0.0% 100.0% 0.3 0.1% SymbolTable::add
0.0 0.0% 100.0% 0.0 0.0% SymbolTable::basic_add@a35ad0
0.0 0.0% 100.0% 0.3 0.1% SymbolTable::basic_add@a36880
0.0 0.0% 100.0% 0.4 0.1% SymbolTable::initialize_symbols
0.0 0.0% 100.0% 0.0 0.0% SymbolTable::lookup
0.0 0.0% 100.0% 0.0 0.0% SymbolTable::new_permanent_symbol
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::check_signature_loaders
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::define_instance_class
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::find_or_define_instance_class
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::initialize
0.0 0.0% 100.0% 0.5 0.2% SystemDictionary::initialize_preloaded_classes
0.0 0.0% 100.0% 0.5 0.2% SystemDictionary::initialize_wk_klasses_until
0.0 0.0% 100.0% 0.9 0.3% SystemDictionary::load_instance_class
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::resolve_array_class_or_null
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::resolve_from_stream
0.0 0.0% 100.0% 0.9 0.3% SystemDictionary::resolve_instance_class_or_null
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::resolve_or_fail@a453b0
0.0 0.0% 100.0% 0.3 0.1% SystemDictionary::resolve_or_fail@a45730
0.0 0.0% 100.0% 0.2 0.0% SystemDictionary::resolve_super_or_fail
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::update_dictionary
0.0 0.0% 100.0% 0.0 0.0% SystemDictionary::validate_protection_domain
0.0 0.0% 100.0% 0.0 0.0% SystemProperty::SystemProperty
0.0 0.0% 100.0% 0.0 0.0% TemplateInterpreter::initialize
0.0 0.0% 100.0% 0.0 0.0% TemplateInterpreterGenerator::generate_all
0.0 0.0% 100.0% 0.0 0.0% TemplateInterpreterGenerator::generate_return_entry_for
0.0 0.0% 100.0% 0.0 0.0% Thread::allocate
0.0 0.0% 100.0% 0.0 0.0% ThreadLocalAllocBuffer::startup_initialization
0.0 0.0% 100.0% 0.0 0.0% ThreadSafepointState::create
0.0 0.0% 100.0% 0.0 0.0% ThreadService::init
0.0 0.0% 100.0% 17.4 5.5% Threads::create_vm
0.0 0.0% 100.0% 0.0 0.0% TimePartitions::TimePartitions
0.0 0.0% 100.0% 0.0 0.0% Type::Initialize
0.0 0.0% 100.0% 0.0 0.0% Type::Initialize_shared
0.0 0.0% 100.0% 0.0 0.0% TypeArrayKlass::create_klass
0.0 0.0% 100.0% 0.0 0.0% UncommonTrapBlob::create
0.0 0.0% 100.0% 0.6 0.2% Universe::genesis
0.0 0.0% 100.0% 0.1 0.0% Universe::initialize_heap
0.0 0.0% 100.0% 300.0 94.2% Unsafe_AllocateMemory
0.0 0.0% 100.0% 0.0 0.0% VMThread::create
0.0 0.0% 100.0% 0.0 0.0% VMThread::run
0.0 0.0% 100.0% 0.0 0.0% VM_Version::get_processor_features
0.0 0.0% 100.0% 0.0 0.0% VM_Version::initialize
0.0 0.0% 100.0% 0.0 0.0% VM_Version_Ext::generate_cpuid_brand_string_code
0.0 0.0% 100.0% 0.0 0.0% VM_Version_Ext::maximum_qualified_cpu_frequency
0.0 0.0% 100.0% 0.0 0.0% VM_Version_Ext_StubGenerator::generate_getCPUIDBrandString
0.0 0.0% 100.0% 0.0 0.0% VM_Version_StubGenerator::generate_get_cpu_info
0.0 0.0% 100.0% 0.0 0.0% VerificationType::is_reference_assignable_from
0.0 0.0% 100.0% 0.0 0.0% Verifier::verify
0.0 0.0% 100.0% 0.0 0.0% VirtualSpaceList::VirtualSpaceList
0.0 0.0% 100.0% 0.0 0.0% VirtualSpaceList::create_new_virtual_space [clone .part.64]
0.0 0.0% 100.0% 0.0 0.0% WatcherThread::run
0.0 0.0% 100.0% 0.0 0.0% X86FastTime::initialize
0.0 0.0% 100.0% 0.0 0.0% ZIP_FindEntry
0.0 0.0% 100.0% 0.0 0.0% ZIP_GetEntry2
0.0 0.0% 100.0% 0.0 0.0% ZIP_Get_From_Cache
0.0 0.0% 100.0% 0.3 0.1% ZIP_Open
0.0 0.0% 100.0% 0.0 0.0% ZIP_Open_Generic
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_c1_LinearScan.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_codeCache.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_decoder.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_diagnosticFramework.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_g1CollectedHeap.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_jfrOptions.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_memoryService.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_metaspace.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_psParallelCompact.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_psScavenge.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_reflectionUtils.cpp
0.0 0.0% 100.0% 0.0 0.0% _GLOBAL__sub_I_resourceContextFactory.cpp
0.0 0.0% 100.0% 0.0 0.0% __GI___libc_dlopen_mode
0.0 0.0% 100.0% 0.0 0.0% __GI___nss_lookup
0.0 0.0% 100.0% 0.0 0.0% __GI___nss_passwd_lookup2
0.0 0.0% 100.0% 0.0 0.0% __GI_setlocale
0.0 0.0% 100.0% 17.8 5.6% __clone
0.0 0.0% 100.0% 0.0 0.0% __cxa_atexit_internal
0.0 0.0% 100.0% 0.1 0.0% __dlopen_check
0.0 0.0% 100.0% 0.0 0.0% __getpwuid_r
0.0 0.0% 100.0% 0.1 0.0% __libc_start_main
0.0 0.0% 100.0% 0.0 0.0% __pthread_create_2_1
0.0 0.0% 100.0% 0.0 0.0% __tzset
0.0 0.0% 100.0% 0.1 0.0% _dl_catch_error
0.0 0.0% 100.0% 0.1 0.0% _dl_init_internal
0.0 0.0% 100.0% 0.0 0.0% _dl_load_cache_lookup
0.0 0.0% 100.0% 0.0 0.0% _dl_map_object
0.0 0.0% 100.0% 0.0 0.0% _dl_map_object_from_fd
0.0 0.0% 100.0% 0.1 0.0% _dl_open
0.0 0.0% 100.0% 0.1 0.0% _init
0.0 0.0% 100.0% 0.0 0.0% _nl_find_locale
0.0 0.0% 100.0% 0.0 0.0% chunkpool_init
0.0 0.0% 100.0% 0.0 0.0% ciEnv::ciEnv
0.0 0.0% 100.0% 0.0 0.0% ciEnv::register_method
0.0 0.0% 100.0% 0.0 0.0% ciObjectFactory::initialize
0.0 0.0% 100.0% 0.0 0.0% codeCache_init
0.0 0.0% 100.0% 0.0 0.0% compilationPolicy_init
0.0 0.0% 100.0% 0.0 0.0% compileBroker_init
0.0 0.0% 100.0% 0.0 0.0% create_defaults_and_exceptions
0.0 0.0% 100.0% 0.1 0.0% dlopen_doit
0.0 0.0% 100.0% 0.0 0.0% do_dlopen
0.0 0.0% 100.0% 0.0 0.0% find_class_from_class_loader
0.0 0.0% 100.0% 0.0 0.0% get_class_declared_methods_helper
0.0 0.0% 100.0% 0.0 0.0% get_method_id [clone .constprop.107]
0.0 0.0% 100.0% 0.0 0.0% get_shared_archive_path
0.0 0.0% 100.0% 0.0 0.0% get_sharedmem_filename
0.0 0.0% 100.0% 0.1 0.0% inflate@b930
0.0 0.0% 100.0% 17.3 5.4% init_globals
0.0 0.0% 100.0% 0.0 0.0% initializeDirectBufferSupport [clone .part.72]
0.0 0.0% 100.0% 0.0 0.0% initializeEncoding
0.0 0.0% 100.0% 0.0 0.0% initialize_class
0.0 0.0% 100.0% 0.0 0.0% initialize_static_field
0.0 0.0% 100.0% 0.0 0.0% interpreter_init
0.0 0.0% 100.0% 0.0 0.0% java_lang_Class::create_mirror
0.0 0.0% 100.0% 0.0 0.0% java_lang_reflect_Field::create
0.0 0.0% 100.0% 0.0 0.0% java_security_AccessControlContext::create
0.0 0.0% 100.0% 0.4 0.1% java_start
0.0 0.0% 100.0% 0.0 0.0% jni_FindClass
0.0 0.0% 100.0% 0.0 0.0% jni_GetMethodID
0.0 0.0% 100.0% 0.0 0.0% jni_GetStaticFieldID
0.0 0.0% 100.0% 0.0 0.0% jni_GetStaticMethodID
0.0 0.0% 100.0% 0.0 0.0% jni_NewDirectByteBuffer
0.0 0.0% 100.0% 0.0 0.0% jni_RegisterNatives
0.0 0.0% 100.0% 0.0 0.0% jni_handles_init
0.0 0.0% 100.0% 0.0 0.0% jvm_define_class_common
0.0 0.0% 100.0% 0.0 0.0% lookupDirectBufferClasses
0.0 0.0% 100.0% 0.0 0.0% lookupOne
0.0 0.0% 100.0% 0.0 0.0% management_init
0.0 0.0% 100.0% 0.0 0.0% marksweep_init
0.0 0.0% 100.0% 0.0 0.0% mutex_init
0.0 0.0% 100.0% 0.0 0.0% nmethod::new_native_nmethod
0.0 0.0% 100.0% 0.0 0.0% nmethod::new_nmethod
0.0 0.0% 100.0% 0.0 0.0% nmethod::nmethod
0.0 0.0% 100.0% 0.0 0.0% openaux
0.0 0.0% 100.0% 0.0 0.0% os::Linux::clock_init
0.0 0.0% 100.0% 0.0 0.0% os::Linux::libpthread_init
0.0 0.0% 100.0% 0.0 0.0% os::create_main_thread
0.0 0.0% 100.0% 0.0 0.0% os::create_thread
0.0 0.0% 100.0% 0.0 0.0% os::dll_load
0.0 0.0% 100.0% 0.0 0.0% os::format_boot_path
0.0 0.0% 100.0% 0.0 0.0% os::init
0.0 0.0% 100.0% 0.0 0.0% os::init_2
0.0 0.0% 100.0% 0.0 0.0% os::init_ft
0.0 0.0% 100.0% 0.0 0.0% os::init_globals_ext
0.0 0.0% 100.0% 0.0 0.0% os::init_system_properties_values
0.0 0.0% 100.0% 0.0 0.0% os::native_java_library
0.0 0.0% 100.0% 0.0 0.0% os::set_boot_path
0.0 0.0% 100.0% 0.0 0.0% os::signal_init
0.0 0.0% 100.0% 0.0 0.0% ostream_init
0.0 0.0% 100.0% 0.0 0.0% perfMemory_init
0.0 0.0% 100.0% 0.0 0.0% referenceProcessor_init
0.0 0.0% 100.0% 0.0 0.0% register_natives [clone .isra.0]
0.0 0.0% 100.0% 17.8 5.6% start_thread
0.0 0.0% 100.0% 0.0 0.0% thread_entry
0.0 0.0% 100.0% 0.0 0.0% tzset_internal
0.0 0.0% 100.0% 0.6 0.2% universe2_init
0.0 0.0% 100.0% 1.0 0.3% universe_init
0.0 0.0% 100.0% 15.6 4.9% universe_post_init
0.0 0.0% 100.0% 0.0 0.0% vframeArray::allocate
0.0 0.0% 100.0% 0.0 0.0% vmSymbols::initialize
0.0 0.0% 100.0% 0.0 0.0% vm_init_globals