Get Started with Storage Performance Snapshot

Use Storage Performance Snapshot to quickly analyze how effectively a workload uses the available storage, CPU, memory, and network.

The Storage Performance Snapshot tool analyzes your Linux* or Windows* system's storage, CPU, memory, and network usage and displays basic performance enhancement opportunities for systems using Intel® hardware. Storage Snapshot provides a first look at system performance and can be used to determine if additional analysis is required.

When running a continuous workload, which is often the case for systems in a data center, it is important to minimize the time spent waiting for tasks to complete. Storage Performance Snapshot analyzes the operating system traces for high-level utilization of the system resources, including context switch, memory utilization, and network utilization. The tool uses this data to identify when the system is idle or has threads that are waiting for information to arrive from storage. On Linux systems, Storage Performance Snapshot uses dstat to gather this information. On Windows systems, Storage Performance Snapshot uses Windows PowerShell* scripts to gather this information from the Windows performance counters.


Storage Performance Snapshot is available as a free product download from the Intel® Developer Zone and is also available pre-installed as part of Intel® Parallel Studio, Intel® System Studio, and Intel® VTune™ Amplifier.

To get the free collector download:

  1. Visit for the latest product download package.
  2. Download the Linux or Windows collector file to your local system.
  3. Extract the contents to a writeable location on your local system.

If you have Storage Performance Snapshot installed as part of Intel Parallel Studio, Intel System Studio, or Intel VTune Amplifier, you can find the Storage Performance Snapshot files in one of the following locations:

  • Windows: C:\Program Files (x86)\IntelSWTools\VTune Amplifier\storage_snapshot

  • Linux: /opt/intel/vtune_amplifier_<version>/storage_snapshot

You need to extract the collector files to the system you want to monitor. The collector files are in the download-kits directory.


  1. Identify a typical workload for the system under analysis. Systems in a data center or those running a continuous workload could use a sample time period.

  2. Collect data.


    If this is the first time you are running the analysis, make sure your system meets the prerequisites listed in the readme file.

    On Linux*:

    1. Open a command prompt.

    2. Run the script to begin collecting data.

      The collected data is added to a <hostname>_<timestamp>.dat file in the current directory.

    3. Run the script to stop collecting data and close the result file.

    On Windows*:

    1. In Windows Explorer, right-click the sps-vars.cmd script and select Run as administrator. A command prompt with Administrative privileges opens and runs the script to sets up the data collection environment. Alternatively, run "<install-dir>\sps-vars.cmd" from a command prompt with Administrative privileges.


      You may need to change your PowerShell execution policy to RemoteSigned before running the Storage Performance Snapshot scripts. Additional information on PowerShell execution policies and how to manage them is available from

    2. Run the sps-start.cmd script to begin collecting data.

    3. Run the sps-stop.cmd script to stop collecting data.

      The collected data is added to a <hostname>_<timestamp>.dat file in the current directory.

  3. View the report in a supported web browser.

    1. If the offline viewer is installed on your local system, open the <install-dir>/storage_snapshot/index.html file.

      If the offline viewer is not installed on your local system, go to the main page for the Storage Performance Snapshot tool in your web browser:


      A list of supported browser versions is available from the index.html page.

    2. Click Select snapshot file to view.

    3. Browse to the .dat result file and click Open.

      The results are displayed in your browser. Results remain local to your system and are not uploaded to Intel servers.

  4. Analyze the data shown in the report.

    A short video demonstration of the Storage Performance Snapshot is available at (4:40 minutes).

  5. Determine appropriate next steps based on result analysis. Common next steps may include working with a system analyst to evaluate the results, reviewing user forum posts or creating your own post to discuss your findings, or conducting additional analysis with Intel® VTune™ Amplifier.

    A user forum for all Intel Performance Snapshot tools is available from


Cache: Data stored so future requests for the same data are more efficient. RAM is used to speed up disk operations by using memory for buffers (file system metadata) and cache (pages with actual file contents or block devices). System performance is improved because disk information is already available in memory, which reduces the number of I/O operations. When space is needed by a program, the information in buffers and cache is reduced to yield memory for the application. The operating system may fill the unused memory for items deemed as important, which leads to a high cache utilization. A high cache utilization shows you the amount of memory that your processes can claim without impacting system performance.

Committed Memory: Commit charge (also known as commit size) is the total amount of virtual memory that an application has committed during the current session. This includes memory that was paged out of physical memory to the disk-backed page file. The Committed value listed in Storage Performance Snapshot represents the sum of memory and physical memory for all processes (individual commit charge values) and the kernel.

CPU Idle: The time that the CPU is not being used by any program.

CPU I/O Wait (Linux only): The percentage of time that the CPU spent idle (for example, an application is unable to do useful work) because all tasks that could be run were waiting for an IO operation to be fulfilled. A larger I/O Wait value indicates a larger opportunity for faster storage to be effective. In a multi-core system, determining why a thread is idle could be one of the following reasons, which can be determined by looking at the CPU Idle values for the same time period:

  • The thread is idle due to networking bottlenecks or load imbalance. In this case, improving storage performance will not improve application performance.

  • The thread is blocked behind threads waiting for IO on another core. In this case, improving storage performance may translate to improved application performance.

Latency: Storage or disk latency refers to the time delay between a request for data and the return of the data, including time spent waiting in the queue. Optimizing this time can be critical to system performance.

Queue Depth: Storage or disk queue depth is the number of pending input/output requests for a storage device.

Throughput: Disk throughput or data transfer rate (sometimes referred to as bandwidth) is the speed at which data is transferred from the disk to the requestor or the requestor to the disk.

Legal Information

Intel, the Intel logo, Intel Atom, Intel Core, Intel Xeon Phi, VTune and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.

Copyright 2016-2018 Intel Corporation

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.

For more complete information about compiler optimizations, see our Optimization Notice.