User Guide

Intel® VTune™ Profiler User Guide

ID 766319
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

io Command Line Analysis

Syntax

vtune -collect io [-knob <knobName=knobValue>] [-- target] [target_options]

Knobs

Platform-Level Metric Knobs:

Knob Allowed Values Default Value Description
collect-pcie-bandwidth true/false true Collect data for:
  • Inbound bandwidth (Intel® Data Direct I/O)
  • Outbound bandwidth (Memory-Mapped I/O)
  • L3 misses
  • Average latencies of inbound I/O requests
mmio true/false false Collect the data required to locate code that induces outbound I/O traffic by accessing devices through MMIO space.
iommu true/false false Collect the data required to calculate performance metrics for Intel® Virtualization Technology for Directed I/O (Intel VT-d).
collect-memory-bandwidth true/false true Collect the data required to compute memory, persistent memory and cross-socket bandwidth.
dram-bandwidth-limits true/false true Evaluate maximum achievable local DRAM bandwidth before the collection starts. This data is used to scale bandwidth metrics on the timeline and calculate thresholds.

OS- and API-level Metric Knobs:

Knob Allowed Values Default Value Description
dpdk true/false false Collect DPDK metrics. Make sure DPDK is built with VTune Profiler support.
spdk true/false false Collect SPDK metrics. Make sure SPDK is built with VTune Profiler support.
kernel-stack true/false false Profile Linux kernel I/O stack.

Prerequisites

Linux* OS:

Load the sampling driver or use driverless hardware event collection (Linux).

See the Input and Output analysis User Guide for detailed prerequisites for each metric type.

FreeBSD* OS:

Install the FreeBSD target package and configure your system following the instructions.

Examples

Example 1: Input and Output Analysis — Launch a Target Application

Run the Input and Output analysis with Intel® VT-d metrics collection enabled for the target application <app>:

vtune -collect io -knob iommu=true -- <app>

Example 2: Input and Output Analysis – Attach to Target Application

Run the Input and Output analysis with Intel VT-d and SPDK metrics collection and without MMIO access feature in the Attach to Process mode.

Attach by process name:

vtune -collect io -knob iommu=true -knob mmio=false -knob spdk=true --target-process=<process_name>

Or attach by PID:

vtune -collect io -knob iommu=true -knob mmio=false -knob spdk=true --target-pid=<pid>

Example 3: Input and Output Analysis - Profile System

Run a system-wide Input and Output analysis without specific target application for 30 seconds:

vtune -collect io --duration 30

What's Next

When the data collection is complete, do one of the following to view the result:

See Also