I have a VTune Analyzer (V. 9.0u11) installed on a Windows machine, and VTune agent (of same version) installed on a remote Linux machine. Collecting sampling information works fine. However, when trying to collect call graph information, instrumentation is extremely slow. It takes about 3 minutes toinstrument everyshared library(as appears in the /tmp/vtune_
Apparently the problem is not with the VTune agent running on the Linux machine but rather with the Analyzer. Using the same VTune agent on the same machine, collecting call graph information from an Analyzer (of same version) installed on another Windows machine, runs smoothly. Instrumentation of all binaries takes a few seconds.
It seems, therefore, that there is a configuration/installation issue on my machine. It would be worthwhile to mention that the Analyzer used to work properly. For some reason I face this problem recently. Uninstalling and re-installing the Analyzer, cleaning the projects folder and the cache directories had no effect.
I would be thankful if you could advice regarding this issue.
I may not understand enough clear for "Apparently the problem is not with the VTune agent running on the Linux machine but rather with the Analyzer. Using the same VTune agent on the same machine, collecting call graph information from an Analyzer (of same version) installed on another Windows machine, runs smoothly. Instrumentation of all binaries takes a few seconds." Did you mean that other Windows host with same VTune Linux agent has no this problem?
VTune Linux Remote agent will instrument associated all system libraries and your user's libraries, and send them to your $cache-directory-remote (default is "/tmp/vtune_user/Cache") in host machine. Probably you can change instrumentation level to reduce time.
1) Use vtl command in command prompt, use "vtl global-options" to know current settings, suggest to do
a) vtl global-options system-library-instrimentation-level="minimal"
b) vtl global-options user-library-instrumentation-level="exports"
2) You can adjust(change) similar configurations on "Configure Call graphAdvance" dialog.
Please ignore the instrumentation level changing idea if it doesn't meet your request.
I'm just curious to alternate the "Cache directory on remote machine" setting:
1. Can you please verify if you change to "/tmp/vtune_otheruser/Cache" on slow Windows* machine?
2. Canyou please verify if you change to "/tmp/vtune_myuser/Cache" on quick Windows* machine?
What happens?I want toidentfy the problem was caused by Windows client? or on Linux?
Theother machine was not available for a while, therefore the delay in my posting.
I followed your suggestion #1 and changed the Cache onmy machine to /tmp/vtune_otheruser/Cache. I run the activity. Instrumentation time was indeed faster then before, but still took an extremely long time. Follows an excerpt from VTune output:
Sun Jan 04 13:36:33 2009 Static instrumentation started
Sun Jan 04 13:39:16 2009 Minimal instrumentation of module "my_lightweight_exe" was skipped.
Sun Jan 04 13:39:37 2009 Exports instrumentation of module "libxxx.so" was skipped.
Sun Jan 04 14:00:07 2009 Exports instrumentation of module "libstdc++.so.5.0.3" was skipped.
Sun Jan 04 14:03:11 2009 Static instrumentation done
Sun Jan 04 14:09:05 2009 Data collection started...
Sun Jan 04 14:09:09 2009 Process Call Graph (MT) Data Collection, id "17459", started writing Call Graph data.
Sun Jan 04 14:09:30 2009 Process Call Graph (MT) Data Collection, id "17459", finished writing Call Graph data.
As you can see the "skipping instrumentation" phase took about half an hour. Data collection started 6 minutes later. Now it is 14:23 and I'm still waiting to the call graph results to be drawn in the Analyzer window.
(On the other machine, Instrumentation + data collection + drawing the call graph results took 10 seconds.)