Intel® VTune™ Amplifier
To run hardware event-based sampling analysis types, the Intel® VTune™ Amplifier uses sampling drivers that require root privileges for installation on the Linux* and Android* systems. If, for some reasons, the sampling drivers cannot be installed (for example, you do not have root privileges on the system) with the product installation, the VTune Amplifier may try to use the Perf* utility and run the hardware event-based sampling analysis in the driverless mode.
VTune Amplifier can use the driverless Perf-based collection if the following requirements are satisfied:
Your system is based on kernel 2.6.32 or higher, which exports CPU PMU programming details over /sys/bus/event_source/devices/cpu/format file system.
Perf utility is available on the system and enabled in the kernel.
Uncore events support is available on your system. To check, make sure uncore_* devices are available in the /sys/bus/event_source/devices folder.
Perf-based driverless collection can be used for running Advanced Hotspots, General Exploration and Custom event-based sampling analysis types on Linux and Android OS. If the uncore events support is available on the system, the VTune Amplifier may also use the Perf collection for Memory Access, HPC Performance Characterization and General Exploration analysis types with the Analyze memory bandwidth option enabled.
VTune Amplifier supports the following Perf-based collection types:
Driverless Perf per-process sampling collects samples for a single process or its children and can be done simultaneously from multiple monitoring processes. Since it requires performance counters virtualization per process, it can bring more overhead in comparison with system-wide collection. Typically, a system has this type of collection enabled by default.
Driverless Perf system-wide sampling is performed by one monitoring process for the whole system. It usually has less overhead since it does not require to virtualize counters per process. This collection type can collect uncore counters and requires kernel configuration.
To configure system-wide driverless collection for uncore events:
Set the /proc/sys/kernel/perf_event_paranoid value to 0 or less. Root privileges are required.
For the kernel modules resolution, make sure you have enough permissions to read kernel symbols information from the /proc/kallsyms file.
To check the data collection type used for your analysis:
Scroll down to the Collection and Platform Info section in the Summary window and check the Collector Type value:
Since the driverless collection is based on the Linux Perf functionality, all Perf limitations fully apply to the VTune Amplifier sampling analysis as well. For example, 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 Perf-based profiling. For more information, see the Tutorial: Troubleshooting and Tips topic at https://perf.wiki.kernel.org/index.php/Main_Page.
Local and remote Launch Application, Attach to Process and Profile System target types are supported but this support fully depends on the Linux Perf profiling credentials specified in the /proc/sys/kernel/perf_event_paranoid file and managed by the administrator of your system using root credentials. For more information see the perf_event related configuration files topic at http://man7.org/linux/man-pages/man2/perf_event_open.2.html. By default, only user processes profiling at both user and kernel spaces is permitted, so you need granting wider profiling credentials via the perf_event_paranoid file to employ the Profile System target type.
For the driverless data collection, VTune Amplifier sampling drivers should be unloaded.
Memory objects analysis is not supported for the driverless event-based sampling.