Intel Performance Counter Monitor (Intel PCM) 简介

Intel Performance Counter Monitor (Intel PCM) 是Intel公司开发的用于监控Intel处理器的性能和功耗的API以及基于这个API的一系列工具。PCM可以在Linux, Windows, Mac OS X, FreeBSD等操作系统工作 。

警告

根据 pcm 输出可以看到对CPU硬件以及操作系统配置有强要求,我的输出信息中有部分错误,待后续实践改进

PCM提供了一系列命令行工具用于实时监控:

  • pcm :基础的处理器监控工具(每个cycle的指令,核心频率-包括 Intel Turbo Boost技术和intel_pstate ,内存,Intel快速路径内部连接带宽(Intel Quick Patch Interconnct bandwidth),本地和远程内存带宽,缓存未命中,core和CPU封装(CPU package)睡眠C-state定位(residency),core和CPU封装的热余量(thermal headroom),缓存使用,CPU和内存能耗(energy consumption)。

pcm输出中能够观察到缓存命中情况以及处理器核心温度(解读需要较多知识积累,待续…)

 Processor Counter Monitor  (202201-1)


Linux arch_perfmon flag  : yes
Hybrid processor         : no
IBRS and IBPB supported  : yes
STIBP supported          : yes
Spec arch caps supported : no
Number of physical cores: 24
Number of logical cores: 48
Number of online logical cores: 48
Threads (logical cores) per physical core: 2
Num sockets: 2
Physical cores per socket: 12
Last level cache slices per socket: 12
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Nominal core frequency: 2300000000 Hz
IBRS enabled in the kernel   : no
STIBP enabled in the kernel  : no
Package thermal spec power: 120 Watt; Package minimum power: 61 Watt; Package maximum power: 240 Watt;
INFO: Linux perf interface to program uncore PMUs is present
ERROR: QPI LL monitoring device (0:7f:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:7f:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 0: 2 memory controllers detected with total number of 4 channels. 0 QPI ports detected. 0 M2M (mesh to memory) blocks detected. 2 Home Agents detected. 0 M3UPI blocks detected.
ERROR: QPI LL monitoring device (0:ff:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:ff:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 1: 2 memory controllers detected with total number of 4 channels. 0 QPI ports detected. 0 M2M (mesh to memory) blocks detected. 2 Home Agents detected. 0 M3UPI blocks detected.
INFO: using Linux resctrl driver for RDT metrics (L3OCC, LMB, RMB) because resctrl driver is mounted.
INFO: can't create directory /sys/fs/resctrl/mon_groups/pcm47 error: No space left on device
INFO: can't create directory /pcm/sys/fs/resctrl/mon_groups/pcm47 error: No such file or directory
ERROR: RDT metrics (L3OCC,LMB,RMB) will not be available
Disabling NMI watchdog since it consumes one hw-PMU counter.
Trying to use Linux perf events...
Successfully programmed on-core PMU using Linux perf

Detected Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz "Intel(r) microarchitecture codename Haswell-EP/EN/EX" stepping 2 microcode level 0x49

 EXEC  : instructions per nominal CPU cycle
 IPC   : instructions per CPU cycle
 FREQ  : relation to nominal CPU frequency='unhalted clock ticks'/'invariant timer ticks' (includes Intel Turbo Boost)
 AFREQ : relation to nominal CPU frequency while in active state (not in power-saving C state)='unhalted clock ticks'/'invariant timer ticks while in C0-state'  (includes Intel Turbo Boost)
 L3MISS: L3 (read) cache misses
 L2MISS: L2 (read) cache misses (including other core's L2 cache *hits*)
 L3HIT : L3 (read) cache hit ratio (0.00-1.00)
 L2HIT : L2 cache hit ratio (0.00-1.00)
 L3MPI : number of L3 (read) cache misses per instruction
 L2MPI : number of L2 (read) cache misses per instruction
 READ  : bytes read from main memory controller (in GBytes)
 WRITE : bytes written to main memory controller (in GBytes)
 LOCAL : ratio of local memory requests to memory controller in %
LLCRDMISSLAT: average latency of last level cache miss for reads and prefetches (in ns)
 L3OCC : L3 occupancy (in KBytes)
 TEMP  : Temperature reading in 1 degree Celsius relative to the TjMax temperature (thermal headroom): 0 corresponds to the max temperature
 energy: Energy in Joules


 Core (SKT) | EXEC | IPC  | FREQ  | AFREQ | L3MISS | L2MISS | L3HIT | L2HIT | L3MPI | L2MPI |   L3OCC | TEMP

   0    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     2496     46
   1    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      912     42
   2    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      240     42
   3    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan        0     44
   4    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      240     39
   5    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     3696     43
   6    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan       96     43
   7    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      144     45
   8    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      336     44
   9    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      384     44
  10    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      240     44
  11    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      192     43
  12    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     2448     37
  13    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1296     38
  14    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      288     38
  15    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      384     36
  16    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      480     38
  17    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      528     40
  18    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      528     39
  19    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1680     38
  20    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      384     38
  21    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     2496     38
  22    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     2112     39
  23    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      432     40
  24    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1344     46
  25    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1872     42
  26    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     2160     42
  27    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1248     44
  28    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1584     39
  29    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1248     43
  30    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1440     43
  31    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1872     45
  32    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      720     44
  33    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1200     44
  34    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      528     44
  35    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     3360     43
  36    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      144     37
  37    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1392     38
  38    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     2880     38
  39    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      336     36
  40    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      336     38
  41    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1632     40
  42    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1008     39
  43    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1680     38
  44    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      336     38
  45    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     1536     38
  46    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan      768     39
  47    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan        0     40
---------------------------------------------------------------------------------------------------------------
 SKT    0     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan    27552     36
 SKT    1     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan    25104     29
---------------------------------------------------------------------------------------------------------------
 TOTAL  *     0.00   -1.00   0.00    -1.00       0        0      -nan    -nan    -nan    -nan     N/A      N/A

 Instructions retired:    0   ; Active cycles:    0   ; Time (TSC): 2301 Mticks ; C0 (active,non-halted) core residency: 0.00 %

 C1 core residency: 100.00 %; C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %;
 C0 package residency: 100.00 %; C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %;
                             ┌────────────────────────────────────────────────────────────────────────────────┐
 Core    C-state distribution│11111111111111111111111111111111111111111111111111111111111111111111111111111111│
                             └────────────────────────────────────────────────────────────────────────────────┘
                             ┌────────────────────────────────────────────────────────────────────────────────┐
 Package C-state distribution│00000000000000000000000000000000000000000000000000000000000000000000000000000000│
                             └────────────────────────────────────────────────────────────────────────────────┘

 PHYSICAL CORE IPC                 : -1.00 => corresponds to -25.00 % utilization for cores in active state
 Instructions per nominal CPU cycle: 0.00 => corresponds to 0.00 % core utilization over time interval
 SMI count: 384
---------------------------------------------------------------------------------------------------------------
MEM (GB)->|  READ |  WRITE | LOCAL | CPU energy | DIMM energy | LLCRDMISSLAT (ns) UncFREQ (Ghz)
---------------------------------------------------------------------------------------------------------------
 SKT   0     0.11     0.07   55 %      38.63      13.18         171.31 1.30
 SKT   1     0.23     0.09   42 %      41.56      13.15         155.01 2.09
---------------------------------------------------------------------------------------------------------------
       *     0.34     0.16   46 %      80.19      26.33         158.78 1.70
...
pcm-memory 输出可以看到内存通道的读写速率
|---------------------------------------||---------------------------------------|
|--             Socket  0             --||--             Socket  1             --|
|---------------------------------------||---------------------------------------|
|--     Memory Channel Monitoring     --||--     Memory Channel Monitoring     --|
|---------------------------------------||---------------------------------------|
|-- Mem Ch  0: Reads (MB/s):    15.17 --||-- Mem Ch  0: Reads (MB/s):    50.66 --|
|--            Writes(MB/s):     4.41 --||--            Writes(MB/s):    18.68 --|
|-- Mem Ch  1: Reads (MB/s):    31.52 --||-- Mem Ch  1: Reads (MB/s):    66.41 --|
|--            Writes(MB/s):    20.22 --||--            Writes(MB/s):    34.28 --|
|-- Mem Ch  2: Reads (MB/s):    12.01 --||-- Mem Ch  2: Reads (MB/s):    45.03 --|
|--            Writes(MB/s):     3.31 --||--            Writes(MB/s):    16.70 --|
|-- Mem Ch  3: Reads (MB/s):    19.72 --||-- Mem Ch  3: Reads (MB/s):    53.46 --|
|--            Writes(MB/s):    11.05 --||--            Writes(MB/s):    24.90 --|
|-- NODE 0 Mem Read (MB/s) :    78.43 --||-- NODE 1 Mem Read (MB/s) :   215.56 --|
|-- NODE 0 Mem Write(MB/s) :    39.00 --||-- NODE 1 Mem Write(MB/s) :    94.55 --|
|-- NODE 0 P. Write (T/s):     367273 --||-- NODE 1 P. Write (T/s):     367376 --|
|-- NODE 0 Memory (MB/s):      117.43 --||-- NODE 1 Memory (MB/s):      310.11 --|
|---------------------------------------||---------------------------------------|
|---------------------------------------||---------------------------------------|
|--                 System Read Throughput(MB/s):        293.99                --|
|--                System Write Throughput(MB/s):        133.56                --|
|--               System Memory Throughput(MB/s):        427.54                --|
|---------------------------------------||---------------------------------------|
pcm-latency 输出可以看到内存通道的读写速率
Linux arch_perfmon flag  : yes
Hybrid processor         : no
IBRS and IBPB supported  : yes
STIBP supported          : yes
Spec arch caps supported : no
Number of physical cores: 24
Number of logical cores: 48
Number of online logical cores: 48
Threads (logical cores) per physical core: 2
Num sockets: 2
Physical cores per socket: 12
Last level cache slices per socket: 12
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Nominal core frequency: 2300000000 Hz
IBRS enabled in the kernel   : no
STIBP enabled in the kernel  : no
Package thermal spec power: 120 Watt; Package minimum power: 61 Watt; Package maximum power: 240 Watt;
INFO: Linux perf interface to program uncore PMUs is present
ERROR: QPI LL monitoring device (0:7f:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:7f:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 0: 2 memory controllers detected with total number of 4 channels. 0 QPI ports detected. 0 M2M (mesh to memory) blocks detected. 2 Home Agents detected. 0 M3UPI blocks detected.
ERROR: QPI LL monitoring device (0:ff:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:ff:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 1: 2 memory controllers detected with total number of 4 channels. 0 QPI ports detected. 0 M2M (mesh to memory) blocks detected. 2 Home Agents detected. 0 M3UPI blocks detected.
INFO: using Linux resctrl driver for RDT metrics (L3OCC, LMB, RMB) because resctrl driver is mounted.
INFO: can't create directory /sys/fs/resctrl/mon_groups/pcm47 error: No space left on device
INFO: can't create directory /pcm/sys/fs/resctrl/mon_groups/pcm47 error: No such file or directory
ERROR: RDT metrics (L3OCC,LMB,RMB) will not be available

 Processor Counter Monitor  (202201-1)

 This utility measures Latency information

 Zeroed PMU registers
Disabling NMI watchdog since it consumes one hw-PMU counter.
Trying to use Linux perf events...
Successfully programmed on-core PMU using Linux perf

Detected Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz "Intel(r) microarchitecture codename Haswell-EP/EN/EX" stepping 2 microcode level 0x49


L1 Cache Miss Latency(ns) [Adding 5 clocks for L1 Miss]

Socket0 Thread0     Socket0 Thread1     Socket1 Thread0     Socket1 Thread1
-----------------------------------------------------------------------------
Core0: 26.08        Core24: 30.57        Core12: 28.93        Core36: 26.99
Core1: 33.00        Core25: 29.26        Core13: 13.35        Core37: 20.50
Core2: 29.75        Core26: 56.78        Core14: 28.49        Core38: 27.29
Core3: 25.98        Core27: 34.38        Core15: 22.65        Core39: 19.47
Core4: 35.67        Core28: 22.83        Core16: 26.46        Core40: 24.02
Core5: 23.09        Core29: 33.36        Core17: 11.70        Core41: 10.86
Core6: 38.93        Core30: 28.42        Core18: 24.24        Core42: 23.72
Core7: 39.09        Core31: 32.63        Core19: 22.90        Core43: 25.60
Core8: 26.83        Core32: 32.83        Core20: 24.49        Core44: 26.04
Core9: 22.35        Core33: 31.06        Core21: 24.24        Core45: 24.95
Core10: 37.98        Core34: 46.32        Core22: 20.42        Core46: 26.92
Core11: 38.32        Core35: 29.63        Core23: 28.23        Core47: 24.63

Average latency per socket

L1 Cache Miss Latency(ns) [Adding 5 clocks for L1 Miss]

Socket0: 31.51
Socket1: 19.49



L1 Cache Miss Latency(ns) [Adding 5 clocks for L1 Miss]

Socket0 Thread0     Socket0 Thread1     Socket1 Thread0     Socket1 Thread1
-----------------------------------------------------------------------------
Core0: 30.63        Core24: 27.58        Core12: 24.57        Core36: 21.19
Core1: 36.94        Core25: 28.57        Core13: 12.89        Core37: 22.71
Core2: 30.51        Core26: 27.58        Core14: 23.16        Core38: 23.67
Core3: 28.05        Core27: 25.70        Core15: 23.72        Core39: 11.70
Core4: 24.67        Core28: 23.68        Core16: 30.68        Core40: 19.35
Core5: 24.89        Core29: 32.60        Core17: 10.92        Core41: 29.32
Core6: 27.62        Core30: 25.31        Core18: 24.47        Core42: 25.52
Core7: 25.39        Core31: 28.01        Core19: 18.23        Core43: 20.15
Core8: 31.38        Core32: 31.19        Core20: 22.05        Core44: 19.38
Core9: 21.41        Core33: 25.64        Core21: 21.48        Core45: 22.75
Core10: 32.58        Core34: 27.83        Core22: 23.87        Core46: 27.36
Core11: 37.08        Core35: 27.46        Core23: 22.85        Core47: 22.98

Average latency per socket

L1 Cache Miss Latency(ns) [Adding 5 clocks for L1 Miss]

Socket0: 27.38
Socket1: 18.51

....
  • pcm-pcie : 监视每个socket的PCIe带宽

pcm-memory 输出可以看到内存通道的读写速率
 Processor Counter Monitor: PCIe Bandwidth Monitoring Utility
 This utility measures PCIe bandwidth in real-time

 PCIe event definitions (each event counts as a transfer):
   PCIe read events (PCI devices reading from memory - application writes to disk/network/PCIe device):
     PCIePRd   - PCIe UC read transfer (partial cache line)
     PCIeRdCur* - PCIe read current transfer (full cache line)
         On Haswell Server PCIeRdCur counts both full/partial cache lines
     RFO*      - Demand Data RFO
     CRd*      - Demand Code Read
     DRd       - Demand Data Read
     PCIeNSWr  - PCIe Non-snoop write transfer (partial cache line)
   PCIe write events (PCI devices writing to memory - application reads from disk/network/PCIe device):
     PCIeWiLF  - PCIe Write transfer (non-allocating) (full cache line)
     PCIeItoM  - PCIe Write transfer (allocating) (full cache line)
     PCIeNSWr  - PCIe Non-snoop write transfer (partial cache line)
     PCIeNSWrF - PCIe Non-snoop write transfer (full cache line)
     ItoM      - PCIe write full cache line
     RFO       - PCIe partial Write
   CPU MMIO events (CPU reading/writing to PCIe devices):
     PRd       - MMIO Read [Haswell Server only] (Partial Cache Line)
     WiL       - MMIO Write (Full/Partial)

 * - NOTE: Depending on the configuration of your BIOS, this tool may report '0' if the message
           has not been selected.

Linux arch_perfmon flag  : yes
Hybrid processor         : no
IBRS and IBPB supported  : yes
STIBP supported          : yes
Spec arch caps supported : no
Number of physical cores: 24
Number of logical cores: 48
Number of online logical cores: 48
Threads (logical cores) per physical core: 2
Num sockets: 2
Physical cores per socket: 12
Last level cache slices per socket: 12
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Nominal core frequency: 2300000000 Hz
IBRS enabled in the kernel   : no
STIBP enabled in the kernel  : no
Package thermal spec power: 120 Watt; Package minimum power: 61 Watt; Package maximum power: 240 Watt;
INFO: Linux perf interface to program uncore PMUs is present
ERROR: QPI LL monitoring device (0:7f:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:7f:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 0: 2 memory controllers detected with total number of 4 channels. 0 QPI ports detected. 0 M2M (mesh to memory) blocks detected. 2 Home Agents detected. 0 M3UPI blocks detected.
ERROR: QPI LL monitoring device (0:ff:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:ff:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 1: 2 memory controllers detected with total number of 4 channels. 0 QPI ports detected. 0 M2M (mesh to memory) blocks detected. 2 Home Agents detected. 0 M3UPI blocks detected.
INFO: using Linux resctrl driver for RDT metrics (L3OCC, LMB, RMB) because resctrl driver is mounted.
INFO: can't create directory /sys/fs/resctrl/mon_groups/pcm47 error: No space left on device
INFO: can't create directory /pcm/sys/fs/resctrl/mon_groups/pcm47 error: No such file or directory
ERROR: RDT metrics (L3OCC,LMB,RMB) will not be available
Update every 1 seconds

Detected Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz "Intel(r) microarchitecture codename Haswell-EP/EN/EX" stepping 2 microcode level 0x49
Skt |  PCIRdCur  |  RFO  |  CRd  |  DRd  |  ItoM  |  PRd  |  WiL
 0      952       5516      60 M    10 M    14      350     280
 1        0         42      26 M    15 M    14        0     490
------------------------------------------------------------------
 *      952       5558      86 M    26 M    28      350     770

Skt |  PCIRdCur  |  RFO  |  CRd  |  DRd  |  ItoM  |  PRd  |  WiL
 0     1260       2296      42 M    13 M     0      364     196
 1        0         56      25 M  9362 K     0        0     490
------------------------------------------------------------------
 *     1260       2352      68 M    23 M     0      364     686

...
  • pcm-iio : 监视每个PCIe设备的带宽(需要CPU支持 Intel Resource Director Technology(RDT) 我的 E5-2670 v3 @ 2.30GHz 支持不完整,在这个命令直接退出,后续再研究一下 Intel Resource Director Technology(RDT) )

  • pcm-numa : 检查 NUMA架构 本地和远程内存访问

  • pcm-power : 监控处理器的睡眠和能源状态、Intel Quick Path Interconnect、DRAM 内存、CPU 频率限制的原因以及其他能源相关指标

  • pcm-tsx : 监控 Intel 事务同步扩展(Transactional Synchronization Extensions)的性能指标

  • pcm-corepmu-query :查询和监视任意处理器核心事件

  • pcm-raw :通过指定原始寄存器事件 ID 编码来编程任意核心和非核心事件

  • pcm-bw-histogram :收集内存带宽利用率直方图

和监控平台集成

通过 pcm-exporter :Intel Performance Counter Monitor (Intel PCM) Prometheus exporter 可以将 pcm 的监控指标输出到 Intel PCM Grafana

安装

主流发行版已经集成提供了 pcm 软件包,例如 Ubuntu Linux 安装非常方便:

在Ubuntu安装Intel PCM
sudo apt install pcm -y

参考