{"id":13576020,"url":"https://github.com/jelmd/nvmex","last_synced_at":"2025-04-05T05:30:32.981Z","repository":{"id":127251751,"uuid":"352222652","full_name":"jelmd/nvmex","owner":"jelmd","description":"Metrics exporter for Nvidia GPUs (Prometheus exposition format)","archived":false,"fork":false,"pushed_at":"2023-10-02T14:24:39.000Z","size":517,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-05T12:32:55.481Z","etag":null,"topics":["c","gpu","gpu-monitoring","grafana","metrics","metrics-exporter","monitoring","nvidia","nvidia-gpu","nvidia-smi","prometheus","prometheus-exporter"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jelmd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-03-28T02:20:58.000Z","updated_at":"2023-08-05T15:00:13.000Z","dependencies_parsed_at":"2023-10-02T18:13:01.050Z","dependency_job_id":null,"html_url":"https://github.com/jelmd/nvmex","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmd%2Fnvmex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmd%2Fnvmex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmd%2Fnvmex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmd%2Fnvmex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jelmd","download_url":"https://codeload.github.com/jelmd/nvmex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294011,"owners_count":20915329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","gpu","gpu-monitoring","grafana","metrics","metrics-exporter","monitoring","nvidia","nvidia-gpu","nvidia-smi","prometheus","prometheus-exporter"],"created_at":"2024-08-01T15:01:06.360Z","updated_at":"2025-04-05T05:30:32.292Z","avatar_url":"https://github.com/jelmd.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# nvmex\n\nnvmex is a *m*etrics *ex*porter for *nv*idia graphic processing units (GPUs).\nTo monitor the health and resource consumption of GPUs it utilizes the nvidia\nmanagement library (libnividia-ml.so.1) usually distributed with the nvidia\ndriver or a similar package (e.g. Solaris: driver/graphics/nvidia,\nUbuntu: libnvidia-compute-\\*). Collected data can be exposed via HTTP \nin [Prometheuse exposition format](https://prometheus.io/docs/instrumenting/exposition_formats/)\nusing the endpoint URL http://_hostname:9400_/metrics (port and IP are\ncustomizable of course) and thus visualized e.g. using [Grafana](https://grafana.com/), [Netdata](https://www.netdata.cloud/), or [Zabbix](https://www.zabbix.com/).\n\nIn contrast to Nvidia's dcgm-exporter *nvmex* is written in plain C and thus\nit is compared to dcgm-exporter extremely lightweight (virtual memory size:\n120 MiB vs. 5.7 GiB, resident set size: 6.5 MiB vs. 23.5..246 MiB),\ndoes not trash your disks with error logs, or hogs any cpu.\nYou may run it on bare metal, or in any zone, container, or pod.\n\n\n## Requirements\n\nBeside Nvidia's libnividia-ml.so.1 (usually provided by the libnvidia-compute-XYZ package) *nvmex* requires [libprom](https://github.com/jelmd/libprom) and [libmicrohttpd](https://github.com/Karlson2k/libmicrohttpd).\n\nThe **nvml.h** (usually provided by the cuda-nvml-dev-U-V package) used to compile this utility must match the **libnividia-ml.so.1** library used on your machines and this in turn the version of the nvdia kernel module in use. The management library is usually backward compatible, so compiling against an older version and using it on machines with more recent versions of the NVML should work (but you may miss some metrics).\n\n\n## Build\n\nAdjust the **Makefile** as needed, optionally set related environment variables\n(e.g. `export CUDA_VERS=10.1 CC=gcc`) and run **make**.\n\n\n## Repo\n\nThe official repository for *nvmex* is https://github.com/jelmd/nvmex .\nIf you need some new features (or bug fixes), please feel free to create an\nissue there using https://github.com/jelmd/nvmex/issues .\n\n\n## Versioning\n\n*nvmex* follows the basic idea of semantic versioning, but having the real world\nin mind. Therefore official releases have always THREE numbers (A.B.C), not\nmore and not less! For nightly, alpha, beta, RC builds, etc. a *.0* and\npossibly more dot separated digits will be append, so that one is always able\nto overwrite this one by using a 4th digit \u003e 0.\n\n\n## License\n\n[CDDL 1.1](https://spdx.org/licenses/CDDL-1.1.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelmd%2Fnvmex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjelmd%2Fnvmex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelmd%2Fnvmex/lists"}