I downloaded the Git code https://github.com/opcm/pcm
to my Linux machine in order to monitor the PCIe data.
I then executed make and obtained some errors (but it continued to build pcm.x). See attached file Make.txt.
I try to run:
and get message:
[root@newton pcm]# ./pcm.x 1
Processor Counter Monitor ($Format:%ci ID=%h$)
Error: NMI watchdog is enabled. This consumes one hw-PMU counter
to disable NMI watchdog please run under root: echo 0 > /proc/sys/kernel/nmi_watchdog
or to disable it permanently: echo 'kernel.nmi_watchdog=0' >> /etc/sysctl.conf
Access to Processor Counter Monitor has denied (no MSR or PCI CFG space access).
My machine lists the following information (see attached files)
Can you please advise if the PCM program is supposed to work with my Linux machine ?
which program, pcm.x ?
Did you read and follow the instructions in the error message? i.e did you run the following:
sudo echo 0 > /proc/sys/kernel/nmi_watchdog
and then try running pcm tools again?
Not sure what you mean exactly by trying to "monitor the PCIe data" but I was looking to measure PCIe bandwidth per device for a GPU computing project and you should be aware that some PCIe related counters are only supported on specific processor families, e.g pcm-iio requires a Skylake Server CPU etc
Yes I tried doing sudo echo 0 > /proc/sys/kernel/nmi_watchdog as root but this does not eliminate the error message.
to answer your question, by monitoring the pcie I mean to achieve what pcitree tree achieves http://www.pcitree.de
Do you know a Linux app that could do this? (I was hoping that I could do that using the pcm tool, but I did not even succeed running this code)
It is not clear to me, why executing "sudo echo 0 > /proc/sys/kernel/nmi_watchdog" did not solve the problem.
However, pcm-pcie.x is not supported on client processors. In other words, you will not be able to monitor PCIe bandwidth even when you solve the problem above.