Intel® VTune™ Profiler

User Guide

ID 766319
Date 3/22/2024
Public

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

Document Table of Contents

threading Command Line Analysis

Threading analysis helps identify the cause of ineffective processor utilization and shows where your application is not parallel. One of the most common problems is threads waiting too long on synchronization objects (locks). Performance suffers when waits occur while cores are under-utilized.

NOTE:

Threading analysis combines and replaces the Concurrency and Locks and Waits analysis types available in previous versions of Intel® VTune™ Profiler.

Threading analysis uses user-mode sampling and tracing collection. With this analysis you can estimate the impact each synchronization object has on the application and understand how long the application had to wait on each synchronization object, or in blocking APIs, such as sleep and blocking I/O.

There are two groups of synchronization objects supported by the Intel® VTune™ Profiler:

  • objects usually used for synchronization between threads, such as Mutex or Semaphore

  • objects associated with waits on I/O operations, such as Stream

Syntax

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

Knobs: sampling-interval

NOTE:

For the most current information on available knobs (configuration options) for the Threading analysis, enter:

vtune -help collect threading

Example

This example shows how to run the Threading analysis on a Linux* myApplication application:

vtune -collect threading -- /home/test/myApplication

What's Next

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