blob: 8c744bea8fbebdc1b8c5f285f8fba994da575d23 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
% Registration Profiling Java on Linux
% [2]Register/Submit Proposal John Kacur (jekacur@ca.ibm.com)
In this paper, I will examine two profilers.
IBM's Open Source Performance Inspector and
OProfile which contains code that has been
officially accepted into the Linux Kernel.
Currently OProfile doesn't work with programs
that dynamically generate code, such as Python
and Java JITs. Various people have proposed
patches that record events in anonymously
mapped memory regions as raw virtual
addresses, instead of the usual tuple of
binary image and offset. This information can
be postprocessed by matching it with the
output generated by running a Java program
with Performance Inspector's JPROF which uses
JVMPI to record addresses of JITted methods.
In this paper, I will discuss the details of
profiling Java, specifically looking at the
inner workings of OProfile and Performance
Inspector. I will discuss problems that we
have encountered with both tools and our
attempts to resolve them. Finally, I will
demonstrate profiling a java program to show
the kind of information that can be obtained.
|