SQL Performance Monitor vs DMV Dynamic Management Views We are trying to measure SQL Server Performance metrics. Is it better to record Performance Monitor (PerfMon) or DMV Dynamic Management Views to measure CPU, Memory, Buffer pages, etc?
There are certain metrics, that PerfMon can measure which DMV cannot, and other way around DMV can measure certain things Perfmon can't. I am referring to common shared metrics.

In general, does Microsoft have best practice, to use Perfmon or DMV in SQL Server?
I assume answer is Perfmon with remote computer,  since measuring things with DMV takes lag/pressure on the central server. Perfmon can be utilized from remote server, and reduce load.

Thank you,
I think the best advice is to use everything that is available, or at least the bits that work best for your workload.

Also consider extended events (often abbreviated to XE) which while harder to get into initially can offer a wealth of information about specific events rather than just counts of things happening as you'll get from PerfMon, and imposes less load than constantly polling DMVs.

Use PerfMon to monitor the general health of the SQL instances, and when that or other indications suggest a problem use information from DMVs to look at what is happening now or has been happening recently, and extended events to "catch things live" and record them for later analysis.

[SQL Profiler can do a fair amount of what XE does too, and is easier to get started with, but it is deprecated so hasn't been updated much since 2012, may vanish completely in later releases, and isn't available against Azure databases at all (apart of course from on-prem SQL Server running in VMs)]