Intel® VTune™ Profiler

User Guide

ID 766319
Date 10/31/2024
Public
Document Table of Contents

Set Up Linux* System for Remote Analysis

How This Works

To collect data remotely from a target Linux* system,

  1. Configure a new analysis in Intel® VTune™ Profiler.
  2. In the WHERE pane, select Remote Linux (SSH).
  3. Specify the Linux* system as the analysis target.
  4. This procedure requires the installation of data collectors on the target system. In VTune Profiler installation directory on the remote system, indicate where you want to install these collectors. In most cases, the data collectors install automatically. If this is unsuccessful, try to complete a manual installation.

Install the VTune Profiler Collectors Automatically

In the WHERE pane of the Configure Analysis interface, when you enter connection parameters in the Remote Linux* (SSH) window, VTune Profiler checks for the presence of the VTune Profiler collector package on the target system.

If an appropriate package was not located, VTune Profiler offers to deploy the package automatically.

Select the Deploy button to download and install the automatic collectors package.

If the collectors are not installed automatically, or you get an error message after an automatic installation, try to install the collectors manually.

Install the VTune Profiler Collectors Manually

To install data collectors manually on a regular or embedded Linux target system,

  1. Copy the required target package archive to the target device using ftp, sftp, or scp. These target packages are available on the host system where the VTune Profiler is installed:

    • <install-dir>/target/linux/vtune_profiler_target_sep_x86_64.tgz - provides hardware event-based sampling collector only (SEP) for 64-bit systems

    • <install-dir>/target/linux/vtune_profiler_target_x86_64.tgz - provides all VTune Profiler collectors for 64-bit systems

    NOTE:

    Use both *_x86 and *_x86_64 packages if you plan to run and analyze 32-bit processes on 64-bit systems.

  2. On the target device, unpack the product package to the /tmp directory or another writable location on the system:

    target> tar -zxvf <target_package>.tgz

    You can find the VTune Profiler target package in the newly created directory /tmp/vtune_profiler_target.

When collecting data remotely, VTune Profiler searches for the collectors on the target device in the default location: /tmp/vtune_profiler_target. VTune Profiler also temporarily stores performance results on the target system in the /tmp directory.

If you installed the target package to a different location or need to specify another temporary directory, make sure to configure your target properties in the Configure Analysis window. Follow these steps:

  1. Use the VTune Profiler installation directory on the remote system option to specify the path to the VTune Profiler on the remote system. If default location is used, the path is provided automatically.

  2. Use the Temporary directory on the remote system option to specify a non-default temporary directory.

Alternatively, use the -target-install-dir and -target-tmp-dir options from the vtune command line.

Sampling Drivers for Remote Linux* Data Collection

The automatic installation of data collectors on the remote Linux system does not build the sampling drivers you also need for this purpose.

You can install pre-built sampling drivers if you operate as the root user and connect via password-less SSH.

Driverless sampling data collection is based on the Linux Perf* tool functionality, which is available without Root access and has limited scope for analysis options.

To collect advanced hardware event-based sampling data, do one of these:

  1. Install the VTune Profiler collectors on the target system.

  2. Build and install sampling drivers. (Optional).

  3. Set up an SSH access to the target system.

Build and Install the Drivers Manually

You only need to build sampling drivers if the installation of data collectors did not complete this step already. The installation process indicates if you need to build sampling drivers additionally.

To enable hardware event-based sampling analysis on your target device:

  1. Build the sampling driver on the target system.

    NOTE:

    • Make sure kernel headers correspond to the kernel version running on the device. For details, see the README.txt file in the sepdk/src directory.

    • Make sure compiler version corresponds to the architecture (x86 or x86_64) of the kernel running on the target system.

    • For Hotspots in hardware event-based sampling mode, Microarchitecture Exploration, and Custom event-based sampling analysis types, you may not need root credentials and installing the sampling driver for systems with kernel 2.6.32 or higher, which exports CPU PMU programming details over /sys/bus/event_source/devices/cpu/format file system. Your operating system limits on the maximum amount of files opened by a process as well as maximum memory mapped to a process address space still apply and may affect profiling capabilities. These capabilities are based on Linux Perf* functionality and all its limitations fully apply to the VTune Profiler as well. For more information, see the Tutorial: Troubleshooting and Tips topic at https://perf.wiki.kernel.org/index.php/Main_Page.

  2. On the target device, install the drivers.

    If the insmod-sep script does not work on the target system due to absence of standard Linux commands, you may install drivers manually using the Linux OS insmod command directly.

NOTE:

To build the sampling driver as RPM using build services as Open Build Service (OBS), use the sepdk.spec file located at the <install-dir>/sepdk/src the directory.