[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-NVIDIA--dcgm-exporter":3,"tool-NVIDIA--dcgm-exporter":61},[4,18,28,37,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,36],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":10,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":117,"github_topics":77,"view_count":24,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":149},9964,"NVIDIA\u002Fdcgm-exporter","dcgm-exporter","NVIDIA GPU metrics exporter for Prometheus leveraging DCGM","dcgm-exporter 是一款专为 NVIDIA GPU 设计的监控指标导出工具，旨在帮助用户轻松将显卡运行数据接入 Prometheus 监控系统。它基于 NVIDIA DCGM（数据中心 GPU 管理）技术构建，能够实时采集并暴露 GPU 的核心状态信息，如流处理器时钟频率、显存频率、温度、功耗及使用率等关键指标。\n\n在涉及深度学习训练、高性能计算或大规模 GPU 集群管理的场景中，实时掌握硬件健康状态至关重要。dcgm-exporter 解决了原生监控手段缺失或集成困难的问题，让运维人员和开发者无需编写复杂代码，即可通过标准的 Prometheus 格式获取高精度的硬件遥测数据，进而结合 Grafana 实现可视化大屏监控与异常告警。\n\n这款工具主要面向 DevOps 工程师、系统管理员以及从事 AI 基础设施研发的开发者。对于正在使用 Kubernetes 管理 GPU 资源的团队，dcgm-exporter 提供了便捷的 Helm 图表安装方式，并能与 NVIDIA GPU Operator 无缝协作，大幅降低部署门槛。其独特亮点在于支持 TLS 加密传输和基本身份验证，","dcgm-exporter 是一款专为 NVIDIA GPU 设计的监控指标导出工具，旨在帮助用户轻松将显卡运行数据接入 Prometheus 监控系统。它基于 NVIDIA DCGM（数据中心 GPU 管理）技术构建，能够实时采集并暴露 GPU 的核心状态信息，如流处理器时钟频率、显存频率、温度、功耗及使用率等关键指标。\n\n在涉及深度学习训练、高性能计算或大规模 GPU 集群管理的场景中，实时掌握硬件健康状态至关重要。dcgm-exporter 解决了原生监控手段缺失或集成困难的问题，让运维人员和开发者无需编写复杂代码，即可通过标准的 Prometheus 格式获取高精度的硬件遥测数据，进而结合 Grafana 实现可视化大屏监控与异常告警。\n\n这款工具主要面向 DevOps 工程师、系统管理员以及从事 AI 基础设施研发的开发者。对于正在使用 Kubernetes 管理 GPU 资源的团队，dcgm-exporter 提供了便捷的 Helm 图表安装方式，并能与 NVIDIA GPU Operator 无缝协作，大幅降低部署门槛。其独特亮点在于支持 TLS 加密传输和基本身份验证，保障了监控数据在传输过程中的安全性；同时，它以容器化形式交付，屏蔽了底层环境差异，确保在不同发行版 Linux 上都能稳定运行，是构建云原生 GPU 可观测性体系的理想选择。","# DCGM-Exporter\n\nThis repository contains the DCGM-Exporter project. It exposes GPU metrics exporter for [Prometheus](https:\u002F\u002Fprometheus.io\u002F) leveraging [NVIDIA DCGM](https:\u002F\u002Fdeveloper.nvidia.com\u002Fdcgm).\n\n### Documentation\n\nOfficial documentation for DCGM-Exporter can be found on [docs.nvidia.com](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fgpu-telemetry\u002Fdcgm-exporter.html).\n\n### Quickstart\n\nTo gather metrics on a GPU node, simply start the `dcgm-exporter` container:\n\n```shell\ndocker run -d --gpus all --cap-add SYS_ADMIN --rm -p 9400:9400 nvcr.io\u002Fnvidia\u002Fk8s\u002Fdcgm-exporter:4.5.2-4.8.1-distroless\ncurl localhost:9400\u002Fmetrics\n# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEMORY_TEMP Memory temperature (in C).\n# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge\n...\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 139\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 405\nDCGM_FI_DEV_MEMORY_TEMP{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 9223372036854775794\n...\n```\n\n### Quickstart on Kubernetes\n\nNote: Consider using the [NVIDIA GPU Operator](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgpu-operator) rather than DCGM-Exporter directly.\n\nEnsure you have already setup your cluster with the [default runtime as NVIDIA](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnvidia-container-runtime#docker-engine-setup).\n\nThe recommended way to install DCGM-Exporter is to use the Helm chart:\n\n```shell\nhelm repo add gpu-helm-charts \\\n  https:\u002F\u002Fnvidia.github.io\u002Fdcgm-exporter\u002Fhelm-charts\n```\n\nUpdate the repo:\n\n```shell\nhelm repo update\n```\n\nAnd install the chart:\n\n```shell\nhelm install \\\n    --generate-name \\\n    gpu-helm-charts\u002Fdcgm-exporter\n```\n\nOnce the `dcgm-exporter` pod is deployed, you can use port forwarding to obtain metrics quickly:\n\n```shell\nkubectl create -f https:\u002F\u002Fraw.githubusercontent.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fmaster\u002Fdcgm-exporter.yaml\n\n# Let's get the output of a random pod:\nNAME=$(kubectl get pods -l \"app.kubernetes.io\u002Fname=dcgm-exporter\" \\\n                         -o \"jsonpath={ .items[0].metadata.name}\")\n\nkubectl port-forward $NAME 8080:9400 &\n\ncurl -sL http:\u002F\u002F127.0.0.1:8080\u002Fmetrics\n# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEMORY_TEMP Memory temperature (in C).\n# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge\n...\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\",container=\"\",namespace=\"\",pod=\"\"} 139\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\",container=\"\",namespace=\"\",pod=\"\"} 405\nDCGM_FI_DEV_MEMORY_TEMP{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\",container=\"\",namespace=\"\",pod=\"\"} 9223372036854775794\n...\n\n```\n\nTo integrate DCGM-Exporter with Prometheus and Grafana, see the full instructions in the [user guide](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fgpu-telemetry\u002Flatest\u002F).\n`dcgm-exporter` is deployed as part of the GPU Operator. To get started with integrating with Prometheus, check the Operator [user guide](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fgpu-operator\u002Fgetting-started.html#gpu-telemetry).\n\n### TLS and Basic Auth\n\nExporter supports TLS and basic auth using [exporter-toolkit](https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fexporter-toolkit). To use TLS and\u002For basic auth, users need to use `--web-config-file` CLI flag as follows\n\n```shell\ndcgm-exporter --web-config-file=web-config.yaml\n```\n\nA sample `web-config.yaml` file can be fetched from [exporter-toolkit repository](https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fexporter-toolkit\u002Fblob\u002Fmaster\u002Fdocs\u002Fweb-config.yml). The reference of the `web-config.yaml` file can be consulted in the [docs](https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fexporter-toolkit\u002Fblob\u002Fmaster\u002Fdocs\u002Fweb-configuration.md).\n\n### How to include HPC jobs in metric labels\n\nThe DCGM-exporter can include High-Performance Computing (HPC) job information into its metric labels. To achieve this, HPC environment administrators must configure their HPC environment to generate files that map GPUs to HPC jobs.\n\n#### File Conventions\n\nThese mapping files follow a specific format:\n\n* Each file is named after either a unique GPU ID or a unique GPU ID and a GPU instance (MIG) ID separated with a \".\" (e.g., 0, 1, 2.0, 2.1, 3, etc.).\n* Each line in the file contains JOB IDs that run on the corresponding GPU\u002FMIG instance.\n\n#### Enabling HPC Job Mapping on DCGM-Exporter\n\nTo enable GPU-to-job mapping on the DCGM-exporter side, users must run the DCGM-exporter with the --hpc-job-mapping-dir command-line parameter, pointing to a directory where the HPC cluster creates job mapping files. Or, users can set the environment variable DCGM_HPC_JOB_MAPPING_DIR to achieve the same result.\n\n### Building from Source\n\nIn order to build dcgm-exporter ensure you have the following:\n\n* [Golang >= 1.24 installed](https:\u002F\u002Fgo.dev\u002F)\n* [DCGM installed](https:\u002F\u002Fdeveloper.nvidia.com\u002Fdcgm)\n* Have Linux machine with GPU, compatible with DCGM.\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter.git\ncd dcgm-exporter\nmake binary\nsudo make install\n...\ndcgm-exporter &\ncurl localhost:9400\u002Fmetrics\n# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEMORY_TEMP Memory temperature (in C).\n# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge\n...\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 139\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 405\nDCGM_FI_DEV_MEMORY_TEMP{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 9223372036854775794\n...\n```\n\n### Changing Metrics\n\nWith `dcgm-exporter` you can configure which fields are collected by specifying a custom CSV file.\nYou will find the default CSV file under `etc\u002Fdefault-counters.csv` in the repository, which is copied on your system or container to `\u002Fetc\u002Fdcgm-exporter\u002Fdefault-counters.csv`\n\nThe layout and format of this file is as follows:\n\n```\n# Format\n# If line starts with a '#' it is considered a comment\n# DCGM FIELD, Prometheus metric type, help message\n\n# Clocks\nDCGM_FI_DEV_SM_CLOCK,  gauge, SM clock frequency (in MHz).\nDCGM_FI_DEV_MEM_CLOCK, gauge, Memory clock frequency (in MHz).\n```\n\nA custom csv file can be specified using the `-f` option or `--collectors` as follows:\n\n```shell\ndcgm-exporter -f \u002Ftmp\u002Fcustom-collectors.csv\n```\n\nNotes:\n\n* Always make sure your entries have 2 commas (',')\n* The complete list of counters that can be collected can be found on the DCGM API reference manual: \u003Chttps:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fdcgm\u002Flatest\u002Fdcgm-api\u002Fdcgm-api-field-ids.html>\n\n### What about a Grafana Dashboard?\n\nYou can find the official NVIDIA DCGM-Exporter dashboard here: \u003Chttps:\u002F\u002Fgrafana.com\u002Fgrafana\u002Fdashboards\u002F12239>\n\nYou will also find the `json` file on this repo under `grafana\u002Fdcgm-exporter-dashboard.json`\n\n### You can find the DCGM-Exporter OpenObserve dashboard here\n\nYou can find the NVIDIA DCGM-Exporter dashboard here: \u003Chttps:\u002F\u002Fgithub.com\u002Fopenobserve\u002Fdashboards\u002Ftree\u002Fmain\u002FNVIDIA%20GPU%20Monitoring>\n\nTo integrate DCGM-Exporter with OpenObserve, follow the blog [monitoring GPU with OpenObserve](https:\u002F\u002Fopenobserve.ai\u002Fblog\u002Fhow-to-monitor-nvidia-gpu\u002F)\n\nPull requests are accepted!\n\n### Building the containers\n\nThis project uses [docker buildx](https:\u002F\u002Fdocs.docker.com\u002Fbuildx\u002Fworking-with-buildx\u002F) for multi-arch image creation. Follow the instructions on that page to get a working builder instance for creating these containers. Some other useful build options follow.\n\nBuilds local images based on the machine architecture and makes them available in 'docker images'\n\n```shell\nmake local\n```\n\nBuild the distroless image and export to 'docker images'\n\n```shell\nmake distroless PLATFORMS=linux\u002Famd64 OUTPUT=type=docker\n```\n\nBuild and push the images to some other 'private_registry'\n\n```shell\nmake REGISTRY=\u003Cprivate_registry> push\n```\n\n## Issues and Contributing\n\n[Checkout the Contributing document!](CONTRIBUTING.md)\n\n* For community support, please [file a new issue](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fissues\u002Fnew)\n* You can contribute by opening a [pull request](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter)\n\n### Reporting Security Issues\n\nWe ask that all community members and users of DCGM Exporter follow the standard NVIDIA process for reporting security vulnerabilities. This process is documented at the [NVIDIA Product Security](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fsecurity\u002F) website.\nFollowing the process will result in any needed CVE being created as well as appropriate notifications being communicated\nto the entire DCGM Exporter community. NVIDIA reserves the right to delete vulnerability reports until they're fixed.\n\nPlease refer to the policies listed there to answer questions related to reporting security issues.\n","# DCGM-Exporter\n\n此仓库包含 DCGM-Exporter 项目。它利用 NVIDIA DCGM，为 [Prometheus](https:\u002F\u002Fprometheus.io\u002F) 提供 GPU 指标导出器。\n\n### 文档\n\nDCGM-Exporter 的官方文档可在 [docs.nvidia.com](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fgpu-telemetry\u002Fdcgm-exporter.html) 上找到。\n\n### 快速入门\n\n要在 GPU 节点上收集指标，只需启动 `dcgm-exporter` 容器：\n\n```shell\ndocker run -d --gpus all --cap-add SYS_ADMIN --rm -p 9400:9400 nvcr.io\u002Fnvidia\u002Fk8s\u002Fdcgm-exporter:4.5.2-4.8.1-distroless\ncurl localhost:9400\u002Fmetrics\n# HELP DCGM_FI_DEV_SM_CLOCK SM 时钟频率（单位：MHz）。\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEM_CLOCK 显存时钟频率（单位：MHz）。\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEMORY_TEMP 显存温度（单位：℃）。\n# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge\n...\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 139\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 405\nDCGM_FI_DEV_MEMORY_TEMP{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 9223372036854775794\n...\n```\n\n### Kubernetes 上的快速入门\n\n注意：建议使用 [NVIDIA GPU Operator](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgpu-operator)，而不是直接使用 DCGM-Exporter。\n\n请确保您的集群已设置为使用 [NVIDIA 默认运行时](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnvidia-container-runtime#docker-engine-setup)。\n\n安装 DCGM-Exporter 的推荐方式是使用 Helm 图表：\n\n```shell\nhelm repo add gpu-helm-charts \\\n  https:\u002F\u002Fnvidia.github.io\u002Fdcgm-exporter\u002Fhelm-charts\n```\n\n更新仓库：\n\n```shell\nhelm repo update\n```\n\n然后安装图表：\n\n```shell\nhelm install \\\n    --generate-name \\\n    gpu-helm-charts\u002Fdcgm-exporter\n```\n\n一旦 `dcgm-exporter` Pod 部署完毕，您可以通过端口转发快速获取指标：\n\n```shell\nkubectl create -f https:\u002F\u002Fraw.githubusercontent.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fmaster\u002Fdcgm-exporter.yaml\n\n# 获取任意一个 Pod 的输出：\nNAME=$(kubectl get pods -l \"app.kubernetes.io\u002Fname=dcgm-exporter\" \\\n                         -o \"jsonpath={ .items[0].metadata.name}\")\n\nkubectl port-forward $NAME 8080:9400 &\n\ncurl -sL http:\u002F\u002F127.0.0.1:8080\u002Fmetrics\n# HELP DCGM_FI_DEV_SM_CLOCK SM 时钟频率（单位：MHz）。\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEM_CLOCK 显存时钟频率（单位：MHz）。\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEMORY_TEMP 显存温度（单位：℃）。\n# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge\n...\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\",container=\"\",namespace=\"\",pod=\"\"} 139\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\",container=\"\",namespace=\"\",pod=\"\"} 405\nDCGM_FI_DEV_MEMORY_TEMP{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\",container=\"\",namespace=\"\",pod=\"\"} 9223372036854775794\n...\n\n```\n\n要将 DCGM-Exporter 与 Prometheus 和 Grafana 集成，请参阅 [用户指南](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fgpu-telemetry\u002Flatest\u002F) 中的完整说明。`dcgm-exporter` 已作为 GPU Operator 的一部分部署。要开始与 Prometheus 集成，请查看 Operator 的 [用户指南](https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fgpu-operator\u002Fgetting-started.html#gpu-telemetry)。\n\n### TLS 和基本认证\n\n导出器支持使用 [exporter-toolkit](https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fexporter-toolkit) 实现 TLS 和基本认证。要使用 TLS 和\u002F或基本认证，用户需要使用 `--web-config-file` CLI 标志，如下所示：\n\n```shell\ndcgm-exporter --web-config-file=web-config.yaml\n```\n\n示例 `web-config.yaml` 文件可从 [exporter-toolkit 仓库](https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fexporter-toolkit\u002Fblob\u002Fmaster\u002Fdocs\u002Fweb-config.yml) 获取。有关 `web-config.yaml` 文件的参考信息，请参阅 [文档](https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fexporter-toolkit\u002Fblob\u002Fmaster\u002Fdocs\u002Fweb-configuration.md)。\n\n### 如何在指标标签中包含 HPC 作业信息\n\nDCGM-exporter 可以将高性能计算 (HPC) 作业信息纳入其指标标签中。为此，HPC 环境管理员必须配置其 HPC 环境，以生成将 GPU 映射到 HPC 作业的文件。\n\n#### 文件约定\n\n这些映射文件遵循特定格式：\n\n* 每个文件的命名基于唯一的 GPU ID 或唯一的 GPU ID 与 GPU 实例（MIG）ID，两者之间用“.”分隔（例如：0、1、2.0、2.1、3 等）。\n* 文件中的每一行包含在相应 GPU\u002FMIG 实例上运行的 JOB ID。\n\n#### 在 DCGM-Exporter 上启用 HPC 作业映射\n\n要在 DCGM-Exporter 端启用 GPU 到作业的映射，用户必须使用 `--hpc-job-mapping-dir` 命令行参数运行 DCGM-Exporter，并指向 HPC 集群创建作业映射文件的目录。或者，用户也可以设置环境变量 `DCGM_HPC_JOB_MAPPING_DIR` 来达到相同的效果。\n\n### 从源代码构建\n\n要构建 dcgm-exporter，请确保您具备以下条件：\n\n* 已安装 [Golang >= 1.24](https:\u002F\u002Fgo.dev\u002F)\n* 已安装 [DCGM](https:\u002F\u002Fdeveloper.nvidia.com\u002Fdcgm)\n* 拥有兼容 DCGM 的带有 GPU 的 Linux 机器。\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter.git\ncd dcgm-exporter\nmake binary\nsudo make install\n...\ndcgm-exporter &\ncurl localhost:9400\u002Fmetrics\n# HELP DCGM_FI_DEV_SM_CLOCK SM 时钟频率（单位：MHz）。\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEM_CLOCK 显存时钟频率（单位：MHz）。\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\n# HELP DCGM_FI_DEV_MEMORY_TEMP 显存温度（单位：℃）。\n# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge\n...\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 139\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 405\nDCGM_FI_DEV_MEMORY_TEMP{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 9223372036854775794\n...\n```\n\n### 修改指标\n\n借助 `dcgm-exporter`，您可以通过指定自定义 CSV 文件来配置要收集的字段。默认的 CSV 文件位于仓库中的 `etc\u002Fdefault-counters.csv`，该文件会被复制到您的系统或容器中的 `\u002Fetc\u002Fdcgm-exporter\u002Fdefault-counters.csv`。\n\n该文件的布局和格式如下：\n\n```\n# 格式\n# 如果行以 '#' 开头，则被视为注释\n# DCGM 字段, Prometheus 指标类型, 帮助信息\n\n# 时钟\nDCGM_FI_DEV_SM_CLOCK,  gauge, SM 时钟频率（单位：MHz）。\nDCGM_FI_DEV_MEM_CLOCK, gauge, 显存时钟频率（单位：MHz）。\n```\n\n可以使用 `-f` 选项或 `--collectors` 指定自定义 CSV 文件，如下所示：\n\n```shell\ndcgm-exporter -f \u002Ftmp\u002Fcustom-collectors.csv\n```\n\n注意事项：\n\n* 务必确保每条记录包含两个逗号（',')\n* 可以收集的完整计数器列表可在 DCGM API 参考手册中找到： \u003Chttps:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fdcgm\u002Flatest\u002Fdcgm-api\u002Fdcgm-api-field-ids.html>\n\n### 那 Grafana 仪表板呢？\n\n您可以在以下链接找到官方的 NVIDIA DCGM-Exporter 仪表板：[https:\u002F\u002Fgrafana.com\u002Fgrafana\u002Fdashboards\u002F12239](https:\u002F\u002Fgrafana.com\u002Fgrafana\u002Fdashboards\u002F12239)\n\n此外，您也可以在本仓库的 `grafana\u002Fdcgm-exporter-dashboard.json` 文件中找到对应的 `json` 文件。\n\n### 您可以在这里找到 DCGM-Exporter 的 OpenObserve 仪表板\n\nNVIDIA DCGM-Exporter 的仪表板地址为：[https:\u002F\u002Fgithub.com\u002Fopenobserve\u002Fdashboards\u002Ftree\u002Fmain\u002FNVIDIA%20GPU%20Monitoring](https:\u002F\u002Fgithub.com\u002Fopenobserve\u002Fdashboards\u002Ftree\u002Fmain\u002FNVIDIA%20GPU%20Monitoring)\n\n要将 DCGM-Exporter 与 OpenObserve 集成，请参考博客文章 [使用 OpenObserve 监控 GPU](https:\u002F\u002Fopenobserve.ai\u002Fblog\u002Fhow-to-monitor-nvidia-gpu\u002F)。\n\n欢迎提交 Pull Request！\n\n### 构建容器\n\n该项目使用 [docker buildx](https:\u002F\u002Fdocs.docker.com\u002Fbuildx\u002Fworking-with-buildx\u002F) 来构建多架构镜像。请按照该页面的说明设置一个可用的构建器实例，以便创建这些容器。以下是一些其他有用的构建选项。\n\n基于当前机器架构构建本地镜像，并将其添加到 `docker images` 中：\n\n```shell\nmake local\n```\n\n构建无发行版（distroless）镜像并导出到 `docker images`：\n\n```shell\nmake distroless PLATFORMS=linux\u002Famd64 OUTPUT=type=docker\n```\n\n构建镜像并推送到某个私有镜像仓库：\n\n```shell\nmake REGISTRY=\u003Cprivate_registry> push\n```\n\n## 问题与贡献\n\n[请查看贡献文档！](CONTRIBUTING.md)\n\n* 如需社区支持，请[提交新 issue](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fissues\u002Fnew)。\n* 您可以通过打开 [pull request](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter) 来做出贡献。\n\n### 安全漏洞报告\n\n我们要求所有社区成员和 DCGM Exporter 用户遵循 NVIDIA 标准的安全漏洞报告流程。该流程已在 [NVIDIA 产品安全](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fsecurity\u002F) 网站上记录。遵循此流程将确保生成必要的 CVE 编号，并向整个 DCGM Exporter 社区发送适当的通知。NVIDIA 保留删除未修复漏洞报告的权利。\n\n有关安全漏洞报告的相关问题，请参阅该网站上列出的政策。","# DCGM-Exporter 快速上手指南\n\nDCGM-Exporter 是一个基于 NVIDIA DCGM 的 GPU 指标导出器，可将 GPU 监控数据暴露给 Prometheus。\n\n## 环境准备\n\n在开始之前，请确保满足以下要求：\n\n*   **操作系统**：Linux 系统。\n*   **硬件**：配备兼容 DCGM 的 NVIDIA GPU。\n*   **驱动与运行时**：已安装 NVIDIA 驱动，并配置好容器运行时（如 Docker 或 Kubernetes），确保默认运行时为 `nvidia`。\n*   **依赖工具**：\n    *   单机部署需安装 Docker。\n    *   Kubernetes 部署需安装 `kubectl` 和 `helm`。\n    *   （可选）源码编译需安装 Golang >= 1.24 及 DCGM 开发库。\n\n## 安装步骤\n\n### 方式一：Docker 单机部署（推荐快速测试）\n\n直接运行官方容器即可启动导出器：\n\n```shell\ndocker run -d --gpus all --cap-add SYS_ADMIN --rm -p 9400:9400 nvcr.io\u002Fnvidia\u002Fk8s\u002Fdcgm-exporter:4.5.2-4.8.1-distroless\n```\n\n### 方式二：Kubernetes 集群部署\n\n建议使用 Helm Chart 进行安装。\n\n1.  添加 Helm 仓库：\n    ```shell\n    helm repo add gpu-helm-charts \\\n      https:\u002F\u002Fnvidia.github.io\u002Fdcgm-exporter\u002Fhelm-charts\n    ```\n\n2.  更新仓库索引：\n    ```shell\n    helm repo update\n    ```\n\n3.  安装 DCGM-Exporter：\n    ```shell\n    helm install \\\n        --generate-name \\\n        gpu-helm-charts\u002Fdcgm-exporter\n    ```\n\n> **注意**：在生产环境的 Kubernetes 集群中，更推荐使用 [NVIDIA GPU Operator](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fgpu-operator)，它会自动包含并管理 DCGM-Exporter。\n\n## 基本使用\n\n安装完成后，您可以通过以下方式验证指标是否正常采集。\n\n### 1. 验证指标输出\n\n**Docker 环境：**\n直接使用 `curl` 访问本地端口：\n```shell\ncurl localhost:9400\u002Fmetrics\n```\n\n**Kubernetes 环境：**\n通过端口转发将 Pod 的 9400 端口映射到本地 8080 端口：\n```shell\n# 获取 Pod 名称\nNAME=$(kubectl get pods -l \"app.kubernetes.io\u002Fname=dcgm-exporter\" \\\n                         -o \"jsonpath={ .items[0].metadata.name}\")\n\n# 执行端口转发\nkubectl port-forward $NAME 8080:9400 &\n\n# 获取指标\ncurl -sL http:\u002F\u002F127.0.0.1:8080\u002Fmetrics\n```\n\n**预期输出示例：**\n```text\n# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_SM_CLOCK gauge\nDCGM_FI_DEV_SM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 139\n# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz).\n# TYPE DCGM_FI_DEV_MEM_CLOCK gauge\nDCGM_FI_DEV_MEM_CLOCK{gpu=\"0\", UUID=\"GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52\"} 405\n```\n\n### 2. 自定义采集指标\n\n默认情况下，DCGM-Exporter 会采集一组预设指标。如需自定义，可创建一个 CSV 配置文件（格式参考 `\u002Fetc\u002Fdcgm-exporter\u002Fdefault-counters.csv`），并通过 `-f` 参数指定：\n\n```shell\ndcgm-exporter -f \u002Ftmp\u002Fcustom-collectors.csv\n```\n\nCSV 文件格式示例：\n```csv\n# DCGM FIELD, Prometheus metric type, help message\nDCGM_FI_DEV_SM_CLOCK,  gauge, SM clock frequency (in MHz).\nDCGM_FI_DEV_MEM_CLOCK, gauge, Memory clock frequency (in MHz).\n```\n\n### 3. 后续集成\n\n获取到指标后，您需要在 Prometheus 配置中添加 `dcgm-exporter` 作为抓取目标（Scrape Job），并导入 Grafana 仪表盘（ID: 12239）以实现可视化监控。","某大型 AI 实验室正在运行大规模深度学习训练集群，运维团队急需实时监控数百张 NVIDIA GPU 的健康状态与资源利用率，以防止硬件过热或算力闲置导致训练任务中断。\n\n### 没有 dcgm-exporter 时\n- 运维人员只能依赖手动登录服务器执行 `nvidia-smi` 命令，无法在统一大屏上实时查看整个集群的 GPU 温度、显存占用和时钟频率。\n- 当某张显卡因散热故障导致温度飙升时，缺乏自动告警机制，往往等到训练任务崩溃报错后才发现硬件异常，造成数小时的算力浪费。\n- 历史性能数据缺失，难以复盘训练过程中的资源瓶颈，无法判断是模型架构问题还是硬件调度不均导致的效率低下。\n- 在 Kubernetes 环境中，无法将 GPU 指标与具体的 Pod 或 Namespace 关联，难以进行细粒度的资源计费或配额管理。\n\n### 使用 dcgm-exporter 后\n- 通过 Docker 或 Helm 快速部署，dcgm-exporter 自动将 GPU 核心频率、显存温度等关键指标暴露为 Prometheus 格式，运维人员可在 Grafana 大屏实时俯瞰全集群状态。\n- 结合 Prometheus 设置阈值告警，一旦监测到显存温度超过安全线或 ECC 错误计数增加，系统立即通知工程师介入，将故障响应时间从小时级缩短至分钟级。\n- 完整的历史监控数据支持长期趋势分析，团队成功识别出特定批次的显卡在高负载下的降频规律，优化了任务调度策略以提升整体吞吐量。\n- 在 K8s 场景下，dcgm-exporter 自动注入 Pod 和命名空间标签，实现了按项目组的精确资源计量，为内部算力成本分摊提供了可靠数据支撑。\n\ndcgm-exporter 将黑盒般的 GPU 硬件状态转化为可观测的标准数据流，让 AI 基础设施的运维从“被动救火”转向“主动预防”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNVIDIA_dcgm-exporter_3022e526.png","NVIDIA","NVIDIA Corporation","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FNVIDIA_7dcf6000.png","",null,"https:\u002F\u002Fnvidia.com","https:\u002F\u002Fgithub.com\u002FNVIDIA",[81,85,89,93,97],{"name":82,"color":83,"percentage":84},"Go","#00ADD8",96.8,{"name":86,"color":87,"percentage":88},"Dockerfile","#384d54",1.6,{"name":90,"color":91,"percentage":92},"Makefile","#427819",1.2,{"name":94,"color":95,"percentage":96},"Mustache","#724b3b",0.2,{"name":98,"color":99,"percentage":100},"Shell","#89e051",0.1,1685,280,"2026-04-18T07:01:38","Apache-2.0","Linux","必需。需要兼容 NVIDIA DCGM 的 NVIDIA GPU（支持 MIG 实例）。未明确具体型号和显存大小，但需宿主机的 Docker 或 Kubernetes 环境配置 NVIDIA 容器运行时。","未说明",{"notes":109,"python":110,"dependencies":111},"该工具主要以 Docker 容器或 Helm Chart 形式运行，而非直接作为 Python 库安装。宿主机必须安装 NVIDIA 驱动和 DCGM。若从源码构建，需要 Linux 环境、Go 1.24+ 以及已安装 DCGM 的带 GPU 机器。支持通过配置文件自定义采集的指标，并可选择性集成 HPC 作业信息。","不适用 (主要组件为 Go 语言编写)",[112,113,114,115,116],"Golang >= 1.24 (源码编译需求)","NVIDIA DCGM","Docker (含 nvidia-container-runtime)","Kubernetes (可选，推荐配合 NVIDIA GPU Operator)","Helm (Kubernetes 部署需求)",[14],"2026-03-27T02:49:30.150509","2026-04-20T12:55:21.965526",[121,126,131,136,141,145],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},44749,"为什么 DCGM Exporter 的指标中显示的 Pod 名称是 DaemonSet 的名称，而不是实际使用 GPU 的工作负载 Pod 名称？","这是因为默认配置未正确映射 Kubernetes GPU ID。需要在 dcgm-exporter 的环境变量中添加以下配置，将 `DCGM_EXPORTER_KUBERNETES_GPU_ID_TYPE` 设置为 `device-name`（可选值还有 `uid`）：\n\n```yaml\n- name: \"DCGM_EXPORTER_KUBERNETES_GPU_ID_TYPE\"\n  value: \"device-name\"\n```\n\n配置后，指标中的标签将显示为 `exported_pod=\"my-pod-zzzzzzz-xxxx\"`，从而正确关联到具体的工作负载 Pod。注意：此功能依赖于 DCGM Exporter 的版本及 Kubernetes 环境配置。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fissues\u002F27",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},44750,"为什么收集不到 GPU 性能分析指标（Profiling Metrics），日志显示 'DCP metrics not enabled' 或 'module not currently loaded'？","这通常是因为 DCGM 的性能分析模块（DCP）未加载或不支持当前硬件\u002F驱动组合。当日志出现 `Skipping line ... DCP metrics not enabled` 警告时，表示无法获取如 `DCGM_FI_PROF_GR_ENGINE_ACTIVE` 等指标。\n\n常见原因包括：\n1. 使用的 GPU 型号（如 Tesla K80）或驱动版本不支持 DCP 模块。\n2. DCGM 初始化时未能加载相应的模块。\n\n解决方法：\n- 运行 `dcgmi modules -l` 检查模块状态，确认是否有模块显示为 'Not loaded'。\n- 确保使用的是支持 DCP 功能的较新 GPU（如 Volta 架构及以上）和匹配的 DCGM 版本。\n- 如果是在容器中运行，确保容器具有足够的权限访问主机引擎。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fissues\u002F22",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},44751,"在非 Kubernetes 环境（如单机 Docker 或 Podman）中，如何获取容器名称作为监控指标的一部分？","原生的 dcgm-exporter 主要针对 Kubernetes 设计，非 K8s 环境下默认不直接支持通过 Docker\u002FPodman 环境变量自动注入容器名称。\n\n解决方案：\n1. **使用社区工具**：可以部署一个辅助项目 [dcgm-container-mapper](https:\u002F\u002Fgithub.com\u002Fbrtnshrdr\u002Fdcgm-container-mapper)。该工具与现有的 dcgm-exporter 并行运行，能够读取 Docker\u002FPodman 信息并添加 `exported_container`、`exported_pod` 等标签到现有指标中。您只需抓取该辅助服务的端点即可。\n2. **手动映射**：通过 `docker inspect` 查看 `NVIDIA_VISIBLE_DEVICES` 环境变量，或读取自定义文件（如包含设备名 `\u002Fdev\u002Fnvidia5` 的文件）来手动关联作业 ID 与设备。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fissues\u002F238",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},44752,"在使用 GPU 时间切片（Time Slicing）共享单个 GPU 给多个 Pod 时，为什么无法获取每个进程的 GPU 利用率，且指标中看不到业务 Pod？","这通常是因为 `nv-hostengine` 初始化失败，导致无法采集进程级数据。错误日志通常包含 `Failed to initialize NVML` 或 `DcgmHostEngineHandler::Init failed`。\n\n关键原因与解决：\n- **权限问题**：确保 dcgm-exporter 的 DaemonSet 配置中包含必要的特权设置。例如，需要添加 `SYS_ADMIN` 能力：\n  ```yaml\n  securityContext:\n    capabilities:\n      add: [\"SYS_ADMIN\"]\n  ```\n- **MIG 限制**：如果启用了 MIG（多实例 GPU），需注意 MIG 是虚拟设备，没有物理性能计数器。DCGM 会先收集整个 GPU 的数据，再分配给各 MIG 实例，这可能影响进程级粒度的监控。\n- 确认 `nv-hostengine` 服务在节点上正常运行且能被 exporter 访问。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdcgm-exporter\u002Fissues\u002F144",{"id":142,"question_zh":143,"answer_zh":144,"source_url":125},44753,"DCGM_EXPORTER_KUBERNETES_GPU_ID_TYPE 环境变量有哪些可用的取值？","该环境变量用于指定在 Kubernetes 环境中如何标识 GPU。根据源码定义，主要有两个可用值：\n1. `device-name`：使用设备名称作为标识（推荐用于大多数 Pod 监控场景）。\n2. `uid`：使用设备的唯一标识符（UID）。\n\n配置示例：\n```yaml\nenv:\n  - name: \"DCGM_EXPORTER_KUBERNETES_GPU_ID_TYPE\"\n    value: \"device-name\"\n```\n选择合适的类型可以帮助指标更准确地映射到具体的 Pod 或设备。",{"id":146,"question_zh":147,"answer_zh":148,"source_url":125},44754,"如何在 GKE 集群中正确部署 dcgm-exporter 以解决权限和挂载问题？","在 GKE 等托管集群中部署时，可能会遇到权限不足或卷挂载失败的问题。参考成功案例，需要进行以下调整：\n1. **启用特权模式**：在 DaemonSet 的 securityContext 中设置 `privileged: true`。\n2. **指定镜像版本**：某些新版本可能存在兼容性问题，可尝试降级到稳定版本，例如 `nvcr.io\u002Fnvidia\u002Fk8s\u002Fdcgm-exporter:2.0.13-2.1.1-ubuntu18.04`。\n3. **挂载主机目录**：添加 `nvidia-install-dir-host` 卷挂载，确保 exporter 能访问主机上的 NVIDIA 驱动文件。\n4. **设置环境变量**：确保 `DCGM_EXPORTER_KUBERNETES` 设为 `true`，并根据需要配置 `DCGM_EXPORTER_KUBERNETES_GPU_ID_TYPE`。",[150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245],{"id":151,"version":152,"summary_zh":153,"released_at":154},352227,"4.5.2-4.8.1","* 更新至 DCGM 4.5.2、最新 Go 1.24 以及基础容器镜像\n* 修复 distroless 符号链接问题\n* 修复 XID 为空时的解析问题\n* 修复 nvlink 实体从偏移量 1 开始的问题","2026-02-09T15:43:32",{"id":156,"version":157,"summary_zh":158,"released_at":159},352228,"4.5.1-4.8.0","- 更新至 DCGM 4.5.1\n- 启用对 GPU 绑定\u002F解绑事件的监控及自动重新加载功能 (@nvvfedorov) - 测试版\n- 同步 Docker 和 Helm 的默认指标监控列表 (@faizan-exe)\n- 修复健康检查端点的行为 (@Alja9)\n- 将默认内存限制提高至 512MiB (@faizan-exe)\n- 使 scrapeTimeout 可配置 (@faizan-exe)\n- 修复 P2P 状态映射 (@wkd-woo)\n\n注意：Helm Chart 现在默认使用 distroless 容器。","2026-01-28T22:10:25",{"id":161,"version":162,"summary_zh":163,"released_at":164},352229,"4.4.2-4.7.1","- 更新 Go-DCGM\n- 根据“XID 错误 v580”更新 XID 错误文本 (#588)\n- 修复：修复时间单位从 us 到 ns 的转换问题 (#589)\n- 功能：更新 README，加入 OpenObserve 博客及 … 的仪表板 (#580)","2025-12-10T15:30:55",{"id":166,"version":167,"summary_zh":168,"released_at":169},352230,"4.4.2-4.7.0","- 启动和流水线中的安全改进 @nvvfedorov - 启动验证阶段无法初始化收集器时的崩溃问题（#578） @daveoy - 在 DRA 中跟踪未分配的 GPU（#570） @JiangJiaWei1103 - 修复标签缓存大小无上限的问题（#574） @andrew-leung","2025-11-18T17:47:22",{"id":171,"version":172,"summary_zh":173,"released_at":174},352231,"4.4.1-4.6.0","- 添加用于 Pod 标签过滤的白名单 (#564)\n- 处理未初始化的映射 (#563)\n- 在 Helm 的 values.yaml 和 DaemonSet 模板中添加 hostPID 字段 (#503)\n- 功能（dcgm-exporter）：添加在 nvml 提供程序初始化失败时退出的选项 (#557)\n- 改进了对 GPU NvLink 监控的支持","2025-10-13T17:54:20",{"id":176,"version":177,"summary_zh":178,"released_at":179},352232,"4.4.1-4.5.2","- 遵循 FHS 日志记录规范：#556\n- 修复：在没有 Pod 的情况下启用指标，使用 kubernetes-enable-{dra,virtual-gpus} #554\n- 添加禁用启动验证标志 #555\n- HPC：如果作业目录不存在，减少错误日志输出","2025-09-17T15:00:32",{"id":181,"version":182,"summary_zh":183,"released_at":184},352233,"4.4.0-4.5.0","- 升级至 DCGM 4.4 和 CUDA 13.0\n- 支持 Kubernetes UID (@andrew-leung)\n- 创建无发行版容器目标","2025-08-19T16:10:08",{"id":186,"version":187,"summary_zh":188,"released_at":189},352234,"4.3.1-4.4.0","* 更新至 DCGM 4.3.1\n* 为 DRA 更新 podapi\n* 启用 DCGM_EXP_P2P_STATUS，用于报告 GPU 点对点 NVLink 状态\n* 修复 HPC 目录为空的问题\n* 启用 InitContainer 支持","2025-08-07T15:12:40",{"id":191,"version":192,"summary_zh":193,"released_at":194},352235,"4.2.3-4.2.0","DCGM-Exporter 4.2.3 至 4.2.0\n- [ISSUE-512] 新增调试功能，可将运行时对象转储到文件中\n- 支持 Kubernetes Pod 标签\n","2025-07-11T14:25:38",{"id":196,"version":197,"summary_zh":198,"released_at":199},352236,"4.2.3-4.1.3","- Helm Chart 重构\n- 将 PodResourceAPI 更新至 v1 版本\n- 配置变更时自动重新加载\n- 支持 internalTrafficPolicy\n- 修复特定环境下的主机名标签","2025-06-05T15:36:43",{"id":201,"version":202,"summary_zh":203,"released_at":204},352237,"4.2.3-4.1.1","- Add log formatting\r\n- Workaround NvLink entity bug in DCGM","2025-05-15T20:31:53",{"id":206,"version":207,"summary_zh":208,"released_at":209},352238,"4.2.0-4.1.0","- Update to DCGM 4.2.0\r\n- Update to latest Go-DCGM bindings","2025-04-15T18:51:14",{"id":211,"version":212,"summary_zh":213,"released_at":214},352239,"4.1.1-4.0.4","- Include DCGM proprietary packge for DCP metrics for Ada and older GPUs (@age9990)","2025-02-20T19:08:46",{"id":216,"version":217,"summary_zh":218,"released_at":219},352240,"4.1.1-4.0.3","- Update to DCGM 4.1.1\r\n- Add support for gpu sharing metrics in k8s (@pintohutch)","2025-02-19T19:56:54",{"id":221,"version":222,"summary_zh":223,"released_at":224},352241,"4.0.0-4.0.1","- Update to DCGM 4.0.0\r\n- Major refactor to enable clean mock testing\r\n- Refactor metric collection to align with prometheus best practices\r\n- Many more bug fixes and improvements","2025-01-27T14:55:46",{"id":226,"version":227,"summary_zh":228,"released_at":229},352242,"3.3.9-3.6.1","- Update to DCGM 3.3.9\r\n- Allow selecting the service's ClusterIP - Remi\r\n- Configurable service monitor API value","2024-11-19T20:33:14",{"id":231,"version":232,"summary_zh":233,"released_at":234},352243,"3.3.8-3.6.0","- Update DCGM to 3.3.8\r\n- [Helm] Enable custom metrics, mount ConfigMap by default (Chip Zoller)","2024-09-19T22:11:36",{"id":236,"version":237,"summary_zh":238,"released_at":239},352244,"3.3.7-3.5.0","Changes: \r\n- Make nvidia resource names configurable (lx1036)\r\n- Update default PCIe metrics name (koshieguchi)\r\n- Correct metric help text (pintohutch)\r\n- Add pci_bus_id label for metric (fungaren)\r\n- Update to DCGM 3.3.7\r\n","2024-07-25T17:51:05",{"id":241,"version":242,"summary_zh":243,"released_at":244},352245,"3.3.6-3.4.2","- Enable HPC job ID as label with --hpc-job-mapping-dir\r\n- Add err_msg label for XID errors\r\n- Bug fixes, bump base container, etc","2024-05-20T20:06:26",{"id":246,"version":247,"summary_zh":248,"released_at":249},352246,"3.3.5-3.4.1","- Fix for duplicate DCGM_FI_DEV_XID_ERRORS \r\n- Make kubelet pod-resources socket directory configurable\r\n- Allow setting runtimeClassName\r\n- use Linux container CPU quota\r\n- Update Go dependencies\r\n- Added DCGM logging options\r\n- many tests added","2024-04-03T20:55:59"]