RegistrationRegister/Submit ProposalContentSchedulePresentations Tutorials BOFS RelatedSponsorsVenue Travel FAQ ArchivesProceedingsPhotos 2005 2004 2003 2002 2001 2000 1999 ContactsInformationHome |
Profiling Java on LinuxJohn 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. |