CPUCPSTAT(8)

NAME
cpupcstat - Measure the DTLB miss rate

SYNOPSIS
cpupcstat [options] [target]

DESCRIPTION
cpupcstat uses oprofile to measure the DTLB miss rate of a specified application or the kernel. It configures oprofile to count the number of DTLB misses, optionally starts the target, and reports on the miss rate over a specified interval as target executes.

The following options can be used to configure how cpupcstat works:

--vmlinux </path/to/vmlinux>

    This allows the user to specify where the appropriate vmlinux file is for their kernel. If this is not specified, /boot/vmlinux-`uname -r` will be used.

--delay <seconds>

    This allows the user to specify the reporting interval. The default is 10 seconds.

--target-global

    Gather statistics for all processes and the kernel running in the system.

--target-pid <pid>

    This allows the user to specify the pid of a process already that is already running. If this option is specified, target will be ignored.

--real-target <real-target>

    Use this to specify the real name of the program to monitor if the target is a launcher script. When this is specified, target is executed but the report will be for real-target.

--time-limit <sec>

    This option sets the time limit for monitoring. If this is specified the target or pid will only be monitored for sec seconds. The default continues monitoring while target or pid are still alive.

--kernel

    This allows the user to request DTLB miss rate data be collected for the kernel as well as the target.

--misses-per-instruction

    This option requests that the ratio of instructions retired per TLB miss.

--misses-per-cycle

    This option requests that the ratio of CPU cycles per TLB miss.

--time-servicing

    This option requests that the percentage of CPU cycles spent servicing TLB misses is displayed when cpupcstat exits. To use this option the cost in CPU cycles for a single TLB miss must be specified using either the --cost-config option or the tlbmiss_cost.sh script.

--cost-config </path/to/config>

    This option tells cpupcstat that the cost in CPU cycles of a TLB miss can be found in the specified file, it should be specified as:

    TLB_MISS_COST=XX

    Where XX is the cost in cycles. This option is only used with the --time-servicing option.

--force-oprofile

    cpupcstat prefers the perf tool for data collection, only using oprofile if perf is not present or supported. This option will force cpupcstat to use oprofile for data collection.

SEE ALSO
oprofile(1) perf(1) tlbmiss_cost.sh(8)

AUTHORS
Eric B Munson <ebmunson@us.ibm.com> is the primary author. See the documentation for other contributors.