When Processor Counter Monitor (PCM) is generating csv files as output, short names are used as column headers. This helps to keep the table width at a manageable size if the data is loaded in a spreadsheet program. However, it makes it rather hard to guess what exactly is hiding behind these abbreviations. Since I'm getting a lot of questions on how to interpret these column names, I've put together a decoder ring:
Field | Explanation | Example |
The following metrics are available on all levels: | ||
Date | Day-Month-Year | 05-02-14 |
Time | Time of day | 13:38:04 |
EXEC | Instructions per nominal CPU cycle, i.e. in respect to the CPU frequency ignoring turbo and power saving | 0.182 |
IPC | Instructions per cycle. This measures how effectively you are using the core. | 0.159 |
FREQ | Frequency relative to nominal CPU frequency (“clockticks”/”invariant timer ticks”) | 1.143 |
AFREQ | Frequency relative to nominal CPU frequency excluding the time when the CPU is sleeping | 1.143 |
L3MISS | L3 cache line misses in millions | 182.879 |
L2MISS | L2 cache line misses in millions | 356.3 |
L3HIT | L3 Cache hit ratio (hits/reference) | 0.487 |
L2HIT | L2 Cache hit ratio (hits/reference) | 0.233 |
L3MPI | Average number of L3 cache misses per instruction | 0.0044 |
L2MPI | Average number of L2 cache misses per instruction | 0.0080 |
The following metrics are only available on socket and system level: | ||
READ | DRAM Memory read traffic on this socket in GB | 23.108 |
WRITE | DRAM Memory read traffic on this socket in GB | 10.782 |
LOCAL | Ratio of local memory requests to memory controller in % | 53 |
PMM_RD | Optane PMem Memory read traffic on this socket in GB | 2.839 |
PMM_WR | Optane PMem Memory write traffic on this socket in GB | 1.332 |
The following metrics are only available on a socket level: | ||
Proc Energy (Joules) | The energy consumed by the processor in Joules. Divide by the time to get the power consumption in watt | 122.457 |
DRAM Energy (Joules) | The energy consumed by the DRAM attached to this socket in Joules. Divide by the time to get the power consumption in watt | 115.747 |
TEMP | Thermal headroom in Kelvin (max design temperature – current temperature) | 32 |
The following metrics are only available on a system level: | ||
INST | Number of instructions retired | 119706 |
ACYC | Number of clockticks, This takes turbo and power saving modes into account. | 750640.8 |
TIME(ticks) | Number of invariant clockticks. This is invariant to turbo and power saving modes. | 2817.883 |
PhysIPC | Instructions per cycle (IPC) multiplied by number of threads per core. See section "Core Cycles-per-Instruction (CPI) and Thread CPI" in Performance Insights to Intel® Hyper-Threading Technology for some background information. | 0.319 |
PhysIPC% | Instructions per cycle (IPC) multiplied by number of threads per core relative to maximum IPC | 7.974 |
INSTnom | Instructions per nominal cycle multiplied by number of threads per core | 0.365 |
INSTnom% | Instructions per nominal cycle multiplied by number of threads per core relative to maximum IPC. The maximum IPC is 2 for Atom and 4 for all other supported processors. | 9.113 |
TotalUPIin | UPI data traffic estimation (data traffic coming to CPU/socket through UPI links) in MB (1024*1024) | 21937.96 |
UPItoMC | Ratio of UPI traffic to memory traffic | 0.632 |
TotalUPIout | UPI traffic estimation (data and non-data traffic outgoing from CPU/socket through UPI links) in MB (1024*1024) | 38443.3 |
Please also note that PCM reports absolute values for the measured time interval. For example, if you use a time interval of 5 seconds, memory traffic or instructions retired are reported for the whole 5 seconds. Only if you are executing PCM with 1 sec time interval, you will get memory traffic in GB/s.