Rev 0.71
1. Supported platforms and system requirements
2. Overview of remote call graph
3. Stopping a call graph application
4. Location of call graph temporary files
5. Duration of a call graph session
6. Environment settings for call graph application
7. Call Graph on shell scripts
8. Call Graph on multiple applications simultaneously
9. Multiple users running call graph simultaneously
Disclaimer and Legal Information
What platforms is call graph supported on? Are there any restrictions?
The following platforms, operating systems, and compilers support remote call graph in the VTuneTM Performance Analyzer:
On IA-32 processors:
The above operating systems require either GLIBC version 2.2.2, 2.2.4, 2.2.5 or 2.3.2.
Note: In order to use call graph on Red Hat* 9, the following patches need to be installed (note: later versions of these patches may also be used):
These patches can be downloaded from https://rhn.redhat.com/ .
Applications built using the following compilers:Call Graph does not work on:
The call graph run creates Unix pipes and uses file locking on the Linux filesystem. Therefore the Linux filesystem on which the remote call graph cache directory resides must support these operations. It is recommended to use a local disk for the call graph cache directory on the Linux system.
NFS automount utility (also known as amd daemon) may unmount directories specified in the call graph collection but not used continuously during the run. This may cause unexpected behavior and the VTune analyzer may fail to run or generate results. If automounted directories are used, then they should not be unmounted while the call graph session is running.
Call Graph results are collected and transferred to the VTune analyzer running on Microsoft* Windows*. These results are stored in memory on the Windows side. In some cases the required memory is very big and may even exceed the physical available memory. Users can limit the amount of memory used during the run in the Configure -> Options -> Call Graph settings dialog box. In the beta version the maximum call graph results size is limited to about 800Mb. It is recommended to define virtual memory as large as possible.
Please see the release notes provided with the VTune analyzer install package for futher issues.
How does remote call graph work?
Remote call graph works in the following way:
How can I stop a call graph application?
Call Graph results are written during the regular termination procedure of the process. This means that if the process did not terminate properly, no call graph results will be generated. There are a few reasons why an application may not terminate properly:
To generate call graph results in the above three cases, you need to cause a proper termination before it is improperly terminated by itself. There are two ways to perform a proper termination:
If the process fails to terminate using the above methods, then the process will need to be manually killed (e.g., using "kill -9").
Where are temporary call graph files stored on the Linux side?
By default, temporary call graph files on Linux side are stored in /tmp/vtune_WUSER/Cache, where WUSER is the name of the user running the VTune analyzer on the host machine. This directory can be changed in the VTune analyzer by going to Configure->Options->Call Graph->Collector->Cache Directories and editing the Remote cache directory field. This directory must be writable by the user running vtserver.
Note: to clear out temporary files on Linux side (including call graph files), start vtserver with the --clear-all option
Can I set the duration for a call graph session?
No. Currently, the duration setting is ignored by the call graph collector.
How can I pass environment variable settings to a call graph application?
There are two ways to pass environment variables to a call graph application.
Can I use call graph on shell scripts?
Yes. Consider the scenario where a shell script invokes a binary executable. The directory where the executable resides must be writable. In the VTune analyzer, specify the shell script as the application to launch and the executable (and not the shell script) as the module of interest.
Can I do call graph on multiple (different) applications simultaneously?
No. Currently, only one application may have call graph performed on it during a call graph session. This single application must be specified in the application's module of interest field in the Application/Module Profile Configuration dialog box.
Can multiple users on the same Linux system run their own call graph sessions simultaneously?
No. Currently, multiple users on same Linux system cannot perform call graph at the same time. Users should coordinate amongst themselves to run their call graph sessions at different (non-overlapping) times on the same Linux system.
Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications.
This FAQ document for Call Graph as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document.
Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.
Intel, the Intel logo, Intel Inside, the Intel Inside logo, Pentium, Itanium, Intel Xeon, Celeron, Intel SpeedStep, Intel Centrino, Intel NetBurst, Intel NetStructure, VTune, MMX, the MMX logo, Dialogic, i386, i486, iCOMP, Intel386, Intel486, Intel740, IntelDX2, IntelDX4 and IntelSX2 are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright© Intel Corporation 2000 - 2004.