
Processor Counter Monitor (PCM)是一套基于API的工具集,用于监控Intel® Core™、Xeon®、Atom™和Xeon Phi™处理器的性能与能源指标。它支持Linux、Windows、Mac OS X、FreeBSD和DragonFlyBSD等操作系统,提供实时性能数据采集、分析及可视化功能,适用于系统性能调优、能源消耗监控和硬件状态分析。
PCM提供多种命令行实用工具,用于实时监控不同维度的处理器指标:
pcm:基础处理器监控工具,可监控指令每周期数、核心频率(含Intel® Turbo Boost技术)、内存和Intel® Quick Path Interconnect带宽、本地/远程内存带宽、缓存未命中、核心与CPU封装睡眠C状态占用率、热余量、缓存利用率及CPU/内存能耗。
pcm-sensor-server:通过HTTP以JSON或Prometheus格式暴露监控指标的采集器,也可作为Docker容器运行。
pcm-memory:监控每通道和每DRAM DIMM rank的内存带宽。
pcm-latency:监控L1缓存未命中和DDR/PMM内存延迟。
pcm-pcie:按插槽监控PCIe带宽。
pcm-iio:按PCIe设备监控PCIe带宽。
pcm-numa:监控本地和远程内存访问。
pcm-power:监控处理器、Intel® Quick Path Interconnect、DRAM内存的睡眠和能源状态,以及CPU频率节流原因等能源相关指标。
pcm-tsx:监控Intel®事务同步扩展(TSX)的性能指标。
pcm-core 和 pmu-query:查询和监控任意处理器核心事件。
pcm-raw:通过指定原始寄存器事件ID编码,编程任意核心和非核心事件。
pcm-bw-histogram:收集内存带宽利用率直方图。
pcm Grafana dashboard:Grafana前端(位于grafana目录),提供可视化监控面板。
pcm-sensor:KDE KSysGuard前端。
pcm-service:Windows perfmon前端。
pcm-msr:读写模型特定寄存器。
pcm-pcicfg:读写PCI配置寄存器。
pcm-mmio:读写内存映射寄存器(支持Linux、Windows、Mac OS X和FreeBSD)。
后台服务:将核心、内存和QPI计数器存储在共享内存中,供非root用户访问。
服务器性能监控:实时跟踪CPU、内存、PCIe等关键组件的性能指标,辅助系统调优。
能源消耗分析:监控处理器和内存的能耗数据,优化数据中心能源效率。
硬件调试与诊断:通过底层寄存器访问和事件监控,诊断硬件性能瓶颈或故障。
开发与测试:为软件性能测试提供硬件级指标参考,验证优化效果。
Linux:执行make命令,所有工具(如pcm.x、pcm-memory.x等)将生成在主目录。
FreeBSD/DragonFlyBSD:执行gmake命令(若未安装GNU make,可通过pkg install gmake安装)。
Windows:参考https://github.com/opcm/pcm/blob/master/WINDOWS_HOWTO.md%EF%BC%88%E9%9C%80%E6%9E%84%E5%BB%BA%E6%88%96%E4%B8%8B%E8%BD%BD%E9%A2%9D%E5%A4%96%E9%A9%B1%E5%8A%A8%EF%BC%89%E3%80%82
Mac OS X:参考https://github.com/opcm/pcm/blob/master/MAC_HOWTO.txt%E3%80%82
Linux:
sudo zypper install pcmsudo yum install pcmWindows:从AppVeyor构建服务下载二进制文件,并安装Visual C++ Redistributable(从微软官网获取),同时需额外驱动(参考WINDOWS_HOWTO.md)。
PCM提供预编译的Docker容器,以pcm-sensor-server为例:
bashdocker run -d --name pcm-sensor-server opcm/pcm pcm-sensor-server
更多Docker使用说明请参考https://github.com/opcm/pcm/blob/master/DOCKER_README.md%E3%80%82
PCM支持通过环境变量进行配置,详细列表见https://github.com/opcm/pcm/blob/master/ENVVAR_README.md%E3%80%82
如需自定义编译参数,参考https://github.com/opcm/pcm/blob/master/CUSTOM-COMPILE-OPTIONS.md%E3%80%82
FAQ:参考https://github.com/opcm/pcm/blob/master/FAQ.md%E3%80%82
API文档:源码中嵌入API文档,可使用Doxygen([***]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务