Community support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
4963 Discussions

Sampling with VTune 3.0: Doesn't start collecting


I am having a problem sampling a Java program after giving a sampling delay and duration. The first time I run VTune (assuming I have set the times correctly) it works just fine. Almost every run after that, it does not start collecting when it should, the program ends, and VTune gives me an error about not having started collection. I have to force the program to exit (with ^C) to get back to the shell, but the vtl.bin process ramps up to 99% CPU usage and doesn't let me kill it (with any signal).

I'm using VTune for Linux 3.0 (non-commercial) to sample SPECjbb2000 running on Sun HotSpot Client JVM 1.4.2_08-b03.

First, let me tell you what I want to do. My end goal is to capture cycles per instruction and cycles per uop for a few seconds during steady-state run. The configuration that I want to measure (30 warehouses) has about 1 minute of initialization and warm-up of the warehouse, so I need to skip that part. I run vtl with the following command:

/opt/intel/vtune/bin/vtl activity jbb_exp -d $duration -c sampling -o "$samp_options" -app $program,"$prog_options" run


samp_options="java -cal yes -sd 91"
prog_options="-Xms512m -Xmx512m [...]"

So, with a duration of 96 and a sampling-delay of 91, I should get about 5 seconds of sampling. And I did, twice three times now. But most of the time, the benchmark just runs until completion and I get the problem mentioned above.

Is there any reason why this would happen? The inconsistent behavior (and the number of times I've had to reboot) is somewhat frustrating. I appreciate any feedback. I can also submit a bug report, though I don't know if I have "premier" access since it's the non-comm version.

Sean Leather
Student, Univ. of Texas at Austin
0 Kudos
2 Replies
Two supplemental observations:
  1. It doesn't matter whether I do calibration or not. I've seen it work either way.
  2. It seems possibly time-dependent. It'll sometimes work if I set the sampling-delay to 100, but it never works if it's 110 or 120.
Granted, the second statement is a bit fluffy given the small sample size of experiments I've done, but I have seen it work successfully several times in a row for -sd 91. The reason I want a higher sampling-delay is so that I can be sure to skip the initialization part.

Thanks again,

Message Edited by seanl on 04-13-2005 12:47 AM

0 Kudos
This is extremely interesting.
Would you repeat your experiment and, instead of ^C try running the ActivityController to stop the collection, see if the results are the same, different, better, worse.
$ ActivityController
Or for more info,
$ man ActivityController
0 Kudos