{"id":20171,"name":"CPU Energy Meter","description":"A Linux tool that allows to monitor power consumption of Intel CPUs at fine time intervals.","url":"https://github.com/sosy-lab/cpu-energy-meter","last_synced_at":"2026-04-07T14:00:21.029Z","repository":{"id":53716666,"uuid":"46493895","full_name":"sosy-lab/cpu-energy-meter","owner":"sosy-lab","description":"A tool for measuring energy consumption of Intel CPUs","archived":false,"fork":false,"pushed_at":"2023-11-02T07:08:26.000Z","size":255,"stargazers_count":344,"open_issues_count":2,"forks_count":31,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-03-12T04:13:55.071Z","etag":null,"topics":["energy","linux","rapl","resource-measurement"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sosy-lab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-11-19T13:28:07.000Z","updated_at":"2026-01-23T08:08:23.000Z","dependencies_parsed_at":"2023-09-21T19:57:02.119Z","dependency_job_id":"3a2cd241-09d9-426b-afe5-6b77e54c1b6b","html_url":"https://github.com/sosy-lab/cpu-energy-meter","commit_stats":{"total_commits":211,"total_committers":5,"mean_commits":42.2,"dds":0.5592417061611374,"last_synced_commit":"a8f665b777074564a08940e1fe24bb44dc5eea38"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/sosy-lab/cpu-energy-meter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sosy-lab","download_url":"https://codeload.github.com/sosy-lab/cpu-energy-meter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30814202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-22T05:45:47.827Z","status":"ssl_error","status_checked_at":"2026-03-22T05:45:39.030Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"owner":{"login":"sosy-lab","name":"SoSy-Lab","uuid":"16129993","kind":"organization","description":"","email":null,"website":"https://www.sosy-lab.org","location":"LMU Munich, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/16129993?v=4","repositories_count":20,"last_synced_at":"2023-08-05T12:10:30.706Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sosy-lab","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T11:21:54.162Z","updated_at":"2023-08-05T12:10:30.909Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sosy-lab","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sosy-lab/repositories"},"packages":[{"id":12731795,"name":"cpu-energy-meter","ecosystem":"nixpkgs","description":"Tool for measuring energy consumption of Intel CPUs","homepage":"https://github.com/sosy-lab/cpu-energy-meter","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/sosy-lab/cpu-energy-meter","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T01:53:41.835Z","latest_release_published_at":"2026-01-26T01:53:41.835Z","latest_release_number":"1.2","last_synced_at":"2026-03-26T03:03:10.123Z","created_at":"2026-01-26T01:53:41.642Z","updated_at":"2026-03-26T03:03:10.123Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=cpu-energy-meter","install_command":"nix-env -iA nixpkgs.cpu-energy-meter","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/cp/cpu-energy-meter/package.nix#L39","metadata":{"nix_attribute":"cpu-energy-meter-1.2","position":"pkgs/by-name/cp/cpu-energy-meter/package.nix:39","platforms":["x86_64-linux"],"broken":false,"insecure":false,"unfree":false,"outputs":["out"]},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/cpu-energy-meter?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/cpu-energy-meter","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/cpu-energy-meter","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/cpu-energy-meter/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/cpu-energy-meter/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/cpu-energy-meter/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/cpu-energy-meter/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/cpu-energy-meter/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/cpu-energy-meter/codemeta","maintainers":[{"uuid":"lorenzleutgeb","login":null,"name":"Lorenz Leutgeb","email":"lorenz@leutgeb.xyz","url":"https://github.com/lorenzleutgeb","packages_count":17,"html_url":null,"role":null,"created_at":"2026-02-26T02:19:23.480Z","updated_at":"2026-02-26T02:19:23.480Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers/lorenzleutgeb/packages"}],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":144114,"maintainers_count":4585,"namespaces_count":0,"keywords_count":1,"github":"NixOS","metadata":{"funded_packages_count":1418},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-03-27T08:56:20.186Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":13021919,"name":"cpu-energy-meter","ecosystem":"nixpkgs","description":"Tool for measuring energy consumption of Intel CPUs","homepage":"https://github.com/sosy-lab/cpu-energy-meter","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/sosy-lab/cpu-energy-meter","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T14:28:56.372Z","latest_release_published_at":"2026-02-01T14:28:56.372Z","latest_release_number":"1.2","last_synced_at":"2026-03-05T10:25:14.436Z","created_at":"2026-02-01T14:28:55.861Z","updated_at":"2026-03-05T10:32:14.113Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=cpu-energy-meter","install_command":"nix-env -iA nixpkgs.cpu-energy-meter","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/by-name/cp/cpu-energy-meter/package.nix#L33","metadata":{"nix_attribute":"cpu-energy-meter-1.2","position":"pkgs/by-name/cp/cpu-energy-meter/package.nix:33","platforms":["x86_64-linux"],"broken":false,"insecure":false,"unfree":false,"outputs":["out"]},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/cpu-energy-meter?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/cpu-energy-meter","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/cpu-energy-meter","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/cpu-energy-meter/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/cpu-energy-meter/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/cpu-energy-meter/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/cpu-energy-meter/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/cpu-energy-meter/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/cpu-energy-meter/codemeta","maintainers":[{"uuid":"lorenzleutgeb","login":null,"name":"Lorenz Leutgeb","email":"lorenz@leutgeb.xyz","url":"https://github.com/lorenzleutgeb","packages_count":11,"html_url":null,"role":null,"created_at":"2026-03-05T10:25:14.693Z","updated_at":"2026-03-05T10:25:14.693Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers/lorenzleutgeb/packages"}],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":0,"github":"NixOS","metadata":{"funded_packages_count":148},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-03-18T07:39:53.908Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":13143325,"name":"cpu-energy-meter","ecosystem":"nixpkgs","description":"A tool for measuring energy consumption of Intel CPUs","homepage":"https://github.com/sosy-lab/cpu-energy-meter","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/sosy-lab/cpu-energy-meter","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T21:25:24.803Z","latest_release_published_at":"2026-02-01T21:25:24.803Z","latest_release_number":"1.2","last_synced_at":"2026-03-08T14:08:39.653Z","created_at":"2026-02-01T21:25:13.247Z","updated_at":"2026-03-08T14:35:01.975Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=cpu-energy-meter","install_command":"nix-env -iA nixpkgs.cpu-energy-meter","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/by-name/cp/cpu-energy-meter/package.nix#L33","metadata":{"nix_attribute":"cpu-energy-meter-1.2","position":"pkgs/by-name/cp/cpu-energy-meter/package.nix:33","platforms":["x86_64-linux"],"broken":false,"insecure":false,"unfree":false,"outputs":["out"]},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/cpu-energy-meter?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/cpu-energy-meter","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/cpu-energy-meter","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/cpu-energy-meter/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/cpu-energy-meter/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/cpu-energy-meter/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/cpu-energy-meter/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/cpu-energy-meter/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/cpu-energy-meter/codemeta","maintainers":[{"uuid":"lorenzleutgeb","login":null,"name":"Lorenz Leutgeb","email":"lorenz@leutgeb.xyz","url":"https://github.com/lorenzleutgeb","packages_count":7,"html_url":null,"role":null,"created_at":"2026-03-08T14:08:39.964Z","updated_at":"2026-03-08T14:08:39.964Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers/lorenzleutgeb/packages"}],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":0,"github":"NixOS","metadata":{"funded_packages_count":215},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-03-27T08:14:42.967Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}}],"commits":{"id":1254160,"full_name":"sosy-lab/cpu-energy-meter","default_branch":"main","total_commits":211,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":42.2,"dds":0.5592417061611374,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-05T13:00:54.631Z","last_synced_commit":"a8f665b777074564a08940e1fe24bb44dc5eea38","created_at":"2023-03-27T10:59:02.061Z","updated_at":"2026-04-05T13:00:39.438Z","committers":[{"name":"Thomas Bunk","email":"TBunk1989@gmail.com","login":"TBunk","count":93},{"name":"Philipp Wendler","email":"uni@philippwendler.de","login":"PhilippWendler","count":87},{"name":"Nils Steinger","email":"git@n-st.de","login":"n-st","count":19},{"name":"Thomas Lemberger","email":"lemberge@fim.uni-passau.de","login":null,"count":11},{"name":"leostrakosch","email":"shirmomi@gmail.com","login":"lembergerth","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-07T00:00:11.408Z","repositories_count":6211410,"commits_count":918046029,"contributors_count":35589666,"owners_count":1142640,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"sosy-lab/cpu-energy-meter","html_url":"https://github.com/sosy-lab/cpu-energy-meter","last_synced_at":"2026-04-05T13:00:22.115Z","status":"error","issues_count":32,"pull_requests_count":2,"avg_time_to_close_issue":14214488.566666666,"avg_time_to_close_pull_request":10376086.5,"issues_closed_count":30,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":12,"avg_comments_per_issue":3.40625,"avg_comments_per_pull_request":4.5,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":689397.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":15.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:40:12.348Z","updated_at":"2026-04-05T13:00:22.115Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sosy-lab%2Fcpu-energy-meter/issues","issue_labels_count":{"question":4,"enhancement":2,"bug":2,"wontfix":1},"pull_request_labels_count":{},"issue_author_associations_count":{"MEMBER":21,"NONE":11},"pull_request_author_associations_count":{"NONE":1,"CONTRIBUTOR":1},"issue_authors":{"PhilippWendler":21,"dx2919717227":1,"edisonchan":1,"slmatrix":1,"nricciardi":1,"Threemages":1,"avacoder42":1,"TrevorVillwock":1,"antondalgren":1,"ManuCasillas":1,"elfring":1,"khaleghzadeh":1},"pull_request_authors":{"rkmax":1,"TBunk":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-07T00:00:09.463Z","repositories_count":14126300,"issues_count":34511815,"pull_requests_count":112731264,"authors_count":11228696,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"PhilippWendler","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/PhilippWendler"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":3,"IssuesEvent":2,"WatchEvent":17,"IssueCommentEvent":14},"last_year":{"ForkEvent":2,"IssuesEvent":1,"WatchEvent":8,"IssueCommentEvent":14}},"keywords":["energy","linux","rapl","resource-measurement"],"dependencies":[{"ecosystem":"docker","filepath":"test/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-21T19:23:41.904Z","updated_at":"2023-09-21T19:23:41.904Z","repository_link":"https://github.com/sosy-lab/cpu-energy-meter/blob/main/test/Dockerfile","dependencies":[{"id":13856656747,"package_name":"ubuntu","ecosystem":"docker","requirements":"bionic","direct":true,"kind":"build","optional":false}]}],"score":7.455876687491825,"created_at":"2023-09-11T14:52:10.386Z","updated_at":"2026-04-07T14:00:21.125Z","avatar_url":"https://github.com/sosy-lab.png","language":"C","category":"Consumption","sub_category":"Computation and Communication","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003c!--\nThis file is part of CPU Energy Meter,\na tool for measuring energy consumption of Intel CPUs:\nhttps://github.com/sosy-lab/cpu-energy-meter\n\nSPDX-FileCopyrightText: 2012 Intel Corporation\nSPDX-FileCopyrightText: 2015-2021 Dirk Beyer \u003chttps://www.sosy-lab.org\u003e\n\nSPDX-License-Identifier: BSD-3-Clause\n--\u003e\n\nCPU Energy Meter\n================\n\n[![Build Status](https://gitlab.com/sosy-lab/software/cpu-energy-meter/badges/main/pipeline.svg)](https://gitlab.com/sosy-lab/software/cpu-energy-meter/pipelines)\n[![BSD-3-Clause License](https://img.shields.io/badge/license-BSD--3--clause-brightgreen.svg)](https://github.com/sosy-lab/cpu-energy-meter/blob/main/LICENSE)\n[![Releases](https://img.shields.io/github/release/sosy-lab/cpu-energy-meter.svg)](https://github.com/sosy-lab/cpu-energy-meter/releases)\n[![DOI via Zenodo](https://zenodo.org/badge/46493895.svg)](https://zenodo.org/badge/latestdoi/46493895)\n\n\nCPU Energy Meter is a Linux tool that allows to monitor power consumption of Intel CPUs\nat fine time granularities (few tens of milliseconds).\nPower monitoring is available for the following power domains:\n- per package domain (CPU socket)\n- per core domain (all the CPU cores on a package)\n- per uncore domain (uncore components, e.g., integrated graphics on client CPUs)\n- per memory node (memory local to a package, server CPUs only)\n- per platform (all devices in the platform that receive power from integrated\n  power delivery mechanism, e.g., processor cores, SOC, memory, add-on or\n  peripheral devices)\n\nTo do this, the tool uses a feature of Intel CPUs that is called [RAPL (Running Average Power Limit)](https://en.wikipedia.org/wiki/Running_average_power_limit),\nwhich is documented in the [Intel Software Developers Manual](https://software.intel.com/en-us/articles/intel-sdm), Volume 3B Chapter 14.9.\nRAPL is available on CPUs from the generation [Sandy Bridge](https://en.wikipedia.org/wiki/Sandy_Bridge) and later.\nBecause CPU Energy Meter uses the maximal possible measurement interval\n(depending on the hardware this is between a few minutes and an hour),\nit causes negligible overhead.\n\nCPU Energy Meter is a fork of the [Intel Power Gadget](https://software.intel.com/en-us/articles/intel-power-gadget-20)\nand developed at the [Software Systems Lab](https://www.sosy-lab.org)\nof the [Ludwig-Maximilians-Universität München (LMU Munich)](https://www.uni-muenchen.de)\nunder the [BSD-3-Clause License](https://github.com/sosy-lab/cpu-energy-meter/blob/main/LICENSE).\n\n\nInstallation\n------------\n\nFor Debian or Ubuntu the easiest way is to install from our [PPA](https://launchpad.net/~sosy-lab/+archive/ubuntu/benchmarking):\n\n    sudo add-apt-repository ppa:sosy-lab/benchmarking\n    sudo apt install cpu-energy-meter\n\nAlternatively, you can download our `.deb` package from [GitHub](https://github.com/sosy-lab/cpu-energy-meter/releases)\nand install it with `apt install ./cpu-energy-meter*.deb`.\n\nDependencies of CPU Energy Meter are [libcap](https://sites.google.com/site/fullycapable/),\nwhich is available on most Linux distributions in package `libcap` (e.g., Fedora)\nor `libcap2` (e.g, Debian and Ubuntu: `sudo apt install libcap2`),\nand a Linux kernel with the MSR module (available by default)\n\nAlternatively, for running CPU Energy Meter from source (quick and dirty):\n\n    sudo apt install libcap-dev\n    sudo modprobe msr\n    make\n    sudo ./cpu-energy-meter\n\nIt is also possible (and recommended) to run CPU Energy Meter without root.\nTo do so, the following needs to be done:\n\n- Load kernel modules `msr` and `cpuid`.\n- Add a group `msr`.\n- Add a Udev rule that grants access to `/dev/cpu/*/msr` to group `msr` ([example](https://github.com/sosy-lab/cpu-energy-meter/blob/main/debian/additional_files/59-msr.rules)).\n- Run `chgrp msr`, `chmod 2711`, and `setcap cap_sys_rawio=ep` on the binary (`make setup` is a shortcut for this).\n\nThe provided Debian package in our [PPA](https://launchpad.net/~sosy-lab/+archive/ubuntu/benchmarking)\nand on [GitHub](https://github.com/sosy-lab/cpu-energy-meter/releases) does these steps automatically\nand lets all users execute CPU Energy Meter.\n\nHow to use it\n-------------\n\n    cpu-energy-meter [-d] [-e sampling_delay_ms] [-r]\n\nThe tool will continue counting the cumulative energy use of all supported CPUs\nin the background and will report a key-value list of its measurements when it\nreceives SIGINT (Ctrl+C):\n\n```\n+--------------------------------------+\n| CPU-Energy-Meter            Socket 0 |\n+--------------------------------------+\nDuration                  2.504502 sec\nPackage                   3.769287 Joule\nCore                      0.317749 Joule\nUncore                    0.010132 Joule\nDRAM                      0.727783 Joule\nPSYS                     29.792603 Joule\n```\n\nTo get intermediate measurements, send signal `USR1` to the process.\n\nOptionally, the tool can be executed with parameter `-r`\nto print the output as a raw (easily parsable) list:\n\n```\ncpu_count=1\nduration_seconds=3.241504\ncpu0_package_joules=4.971924\ncpu0_core_joules=0.461182\ncpu0_uncore_joules=0.053406\ncpu0_dram_joules=0.953979\ncpu0_psys_joules=38.904785\n```\n\nThe parameter `-d` adds debug output.\nBy default, CPU Energy Meter computes the necessary measurement interval automatically,\nthis can be overridden with the parameter `-e`.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["benchmark-framework","benchmarking","cgroups","verification","competition","software-verification","sv-comp","verification-task","witness"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20171","html_url":"https://ost.ecosyste.ms/projects/20171"}