Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCM error: no memory controllers found. #704

Open
gukejun1 opened this issue Mar 14, 2024 · 2 comments
Open

PCM error: no memory controllers found. #704

gukejun1 opened this issue Mar 14, 2024 · 2 comments

Comments

@gukejun1
Copy link

gukejun1 commented Mar 14, 2024

when i run ./pcm-memory in aws(m7i.16xlarge) intel 8488C , error is appear . how to solve???

(py39) [root@ip-172-31-39-180 bin]# ./pcm-memory 

 Intel(r) Performance Counter Monitor: Memory Bandwidth Monitoring Utility ($Format:%ci ID=%h$)

 This utility measures memory bandwidth per channel or per DIMM rank in real-time

Detected a hypervisor/virtualization technology. Some metrics might not be available due to configuration or availability of virtual hardware features.

=====  Processor information  =====
Linux arch_perfmon flag  : yes
Hybrid processor         : no
IBRS and IBPB supported  : yes
STIBP supported          : yes
Spec arch caps supported : yes
Max CPUID level          : 31
CPU model number         : 143
INFO: Reducing the number of programmable counters to 3 to workaround the fixed cycle counter virtualization issue on AWS.
      You can disable the workaround by setting PCM_NO_AWS_WORKAROUND=1 environment variable
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Last level cache slices per socket: 0
Core PMU (perfmon) version: 2
Number of core PMU generic (programmable) counters: 3
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 1
Width of fixed counters: 48 bits
Nominal core frequency: 2400000000 Hz
IBRS enabled in the kernel   : yes
STIBP enabled in the kernel  : no
The processor is not susceptible to Rogue Data Cache Load: yes
The processor supports enhanced IBRS                     : yes
Package thermal spec power: 0 Watt; Package minimum power: 0 Watt; Package maximum power: 0 Watt;

INFO: Linux perf interface to program uncore PMUs is NOT present
PCM error: socket_ 0 >= socket2M2Mbus.size() 0
PCM warning: total_sockets_ 1 does not match socket2M2Mbus.size() 0
PCM error: no memory controllers found.
Can not access server uncore PCI configuration space. Access to uncore counters (memory and QPI bandwidth) is disabled.
You must be root to access server uncore counters in PCM.
ERROR: PCU PMU not found
ERROR: MDF PMU not found
Info: IDX - Detected 0 IAA devices, 0 DSA devices, 0 QAT devices. 
Socket 0: 0 PCU units detected. 12 IIO units detected. 12 IRP units detected. 0 CHA/CBO units detected. 0 MDF units detected. 1 UBOX units detected. 0 CXL units detected.


Detected Intel(R) Xeon(R) Platinum 8488C "Intel(r) microarchitecture codename Sapphire Rapids-SP" stepping 8 microcode level 0x2b000590
Access to Intel(r) Performance Counter Monitor has denied (no MSR or PCI CFG space access).
Cleaning up
 Closed perf event handles
 Zeroed uncore PMU registers

@gukejun1
Copy link
Author

gukejun1 commented Mar 14, 2024

and how to solve in m7i.metal-24xl ?

(py39) [root@ip-172-31-39-180 bin]# ./pcm-memory 

 Intel(r) Performance Counter Monitor: Memory Bandwidth Monitoring Utility ($Format:%ci ID=%h$)

 This utility measures memory bandwidth per channel or per DIMM rank in real-time
=====  Processor information  =====
Linux arch_perfmon flag  : yes
Hybrid processor         : no
IBRS and IBPB supported  : yes
STIBP supported          : yes
Spec arch caps supported : yes
Max CPUID level          : 32
CPU model number         : 143
Number of physical cores: 96
Number of logical cores: 192
Number of online logical cores: 192
Threads (logical cores) per physical core: 2
Num sockets: 2
Physical cores per socket: 48
Last level cache slices per socket: 56
Core PMU (perfmon) version: 5
Number of core PMU generic (programmable) counters: 8
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 4
Width of fixed counters: 48 bits
Nominal core frequency: 2400000000 Hz
IBRS enabled in the kernel   : yes
STIBP enabled in the kernel  : no
The processor is not susceptible to Rogue Data Cache Load: yes
The processor supports enhanced IBRS                     : yes
Package thermal spec power: 385 Watt; Package minimum power: 205 Watt; Package maximum power: 764 Watt;

opening /dev/mem failed: errno is 2 (No such file or directory)
WARNING: enumeration of devices in UncorePMUDiscovery failed
INFO: Linux perf interface to program uncore PMUs is present
PCM error: no memory controllers found.
Can not access server uncore PCI configuration space. Access to uncore counters (memory and QPI bandwidth) is disabled.
You must be root to access server uncore counters in PCM.
ERROR: PCU PMU not found
ERROR: MDF PMU not found
ERROR: PCU PMU not found
ERROR: MDF PMU not found
Info: IDX - Detected 8 IAA devices, 8 DSA devices, 8 QAT devices. 
opening /dev/mem failed: errno is 2 (No such file or directory)
terminate called without an active exception
DEBUG: caught signal to interrupt (Aborted).

@rdementi
Copy link
Contributor

thanks for opening the issue. m7i.16xlarge is a virtualized instance. Virtualized instances do not allow access to uncore memory controller performance monitoring units (e.g. memory controller). In m7i.metal-24xl your Linux kernel version does not allow for direct memory mapped register access. Could you try a workaround by setting PCM_USE_UNCORE_PERF=1 environment variable (
https://github.com/intel/pcm/blob/master/doc/ENVVAR_README.md):

export PCM_USE_UNCORE_PERF=1
./pcm-memory 

Does it work for you?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants