{"id":13418453,"url":"https://github.com/Syllo/nvtop","last_synced_at":"2025-03-15T03:31:10.644Z","repository":{"id":37984393,"uuid":"94530674","full_name":"Syllo/nvtop","owner":"Syllo","description":"GPU \u0026 Accelerator process monitoring for AMD, Apple, Huawei, Intel, NVIDIA and Qualcomm","archived":false,"fork":false,"pushed_at":"2025-01-19T08:13:14.000Z","size":973,"stargazers_count":8640,"open_issues_count":87,"forks_count":307,"subscribers_count":79,"default_branch":"master","last_synced_at":"2025-02-07T09:16:43.300Z","etag":null,"topics":["adreno","amd","apple","ascend","command-line-tool","gpu","huawei","intel","linux","monitoring","ncurses","nvidia"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Syllo.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-16T09:52:13.000Z","updated_at":"2025-02-07T07:46:55.000Z","dependencies_parsed_at":"2024-11-25T16:05:15.214Z","dependency_job_id":"a14a8b96-5676-4b3e-afe7-0f54493b76dd","html_url":"https://github.com/Syllo/nvtop","commit_stats":{"total_commits":374,"total_committers":45,"mean_commits":8.311111111111112,"dds":0.3475935828877005,"last_synced_commit":"0316ce19581c3d8543cf6aa312d1569c56ca754f"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syllo%2Fnvtop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syllo%2Fnvtop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syllo%2Fnvtop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syllo%2Fnvtop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Syllo","download_url":"https://codeload.github.com/Syllo/nvtop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243048123,"owners_count":20227592,"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":["adreno","amd","apple","ascend","command-line-tool","gpu","huawei","intel","linux","monitoring","ncurses","nvidia"],"created_at":"2024-07-30T22:01:02.506Z","updated_at":"2025-03-15T03:31:10.638Z","avatar_url":"https://github.com/Syllo.png","language":"C","readme":"NVTOP\n=====\n\nWhat is NVTOP?\n--------------\n\nNVTOP stands for Neat Videocard TOP, a (h)top like task monitor for GPUs and\naccelerators. It can handle multiple GPUs and print information about them in a\nhtop-familiar way.\n\nCurrently supported vendors are AMD (Linux amdgpu driver), Apple (limited M1 \u0026\nM2 support), Huawei (Ascend), Intel (Linux i915/Xe drivers), NVIDIA (Linux\nproprietary divers), Qualcomm Adreno (Linux MSM driver), Broadcom VideoCore (Linux v3d driver).\n\nBecause a picture is worth a thousand words:\n\n![NVTOP interface](/screenshot/NVTOP_ex1.png)\n\nTable of Contents\n-----------------\n\n- [NVTOP Options and Interactive Commands](#nvtop-options-and-interactive-commands)\n  - [Interactive Setup Window](#interactive-setup-window)\n  - [Saving Preferences](#saving-preferences)\n  - [NVTOP Manual and Command line Options](#nvtop-manual-and-command-line-options)\n- [GPU Support](#gpu-support)\n  - [AMD](#amd)\n  - [Intel](#intel)\n  - [NVIDIA](#nvidia)\n  - [Adreno](#adreno)\n  - [Apple](#apple)\n  - [Ascend](#ascend) (only tested on 910B)\n  - [VideoCore](#videocore)\n- [Build](#build)\n- [Distribution Specific Installation Process](#distribution-specific-installation-process)\n  - [Ubuntu / Debian](#ubuntu--debian)\n    - [Ubuntu Impish (21.10) / Debian buster (stable) and more recent (stable)](#ubuntu-impish-2110-debian-buster-stable-and-more-recent)\n  - [Fedora / Red Hat / CentOS](#fedora--red-hat--centos)\n  - [OpenSUSE](#opensuse)\n  - [Arch Linux](#arch-linux)\n  - [Gentoo](#gentoo)\n  - [AppImage](#appimage)\n  - [Snap](#snap)\n  - [Conda-forge](#conda-forge)\n  - [Docker](#docker)\n- [NVTOP Build](#nvtop-build)\n- [Troubleshoot](#troubleshoot)\n- [License](#license)\n\nNVTOP Options and Interactive Commands\n--------------------------------------\n### Interactive Setup Window\n\nNVTOP has a builtin setup utility that provides a way to specialize the interface to your needs.\nSimply press ``F2`` and select the options that are the best for you.\n\n![NVTOP Setup Window](/screenshot/Nvtop-config.png)\n\n### Saving Preferences\n\nYou can save the preferences set in the setup window by pressing ``F12``.\nThe preferences will be loaded the next time you run ``nvtop``.\n\n### NVTOP Manual and Command line Options\n\nNVTOP comes with a manpage!\n```bash\nman nvtop\n```\nFor quick command line arguments help\n```bash\nnvtop -h\nnvtop --help\n```\n\nGPU Support\n-----------\n\n### AMD\n\nNVTOP supports AMD GPUs using the `amdgpu` driver through the exposed DRM and\nsysfs interface.\n\nAMD introduced the fdinfo interface in kernel 5.14 ([browse kernel\nsource](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c?h=linux-5.14.y)).\nHence, you will need a kernel with a version greater or equal to 5.14 to see the\nprocesses using AMD GPUs.\n\nSupport for recent GPUs are regularly mainlined into the linux kernel, so please\nuse a recent-enough kernel for your GPU.\n\n### Intel\n\nNVTOP supports Intel GPUs using the `i915` or `xe` linux driver.\n\nIntel introduced the fdinfo interface in kernel 5.19 ([browse kernel\nsource](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpu/drm/i915/i915_drm_client.c?h=linux-5.19.y)).\nHence, you will need a kernel with a version greater or equal to 5.19 to see the\nprocesses using Intel GPUs.\n\nIntel requires CAP_PERFMON or CAP_SYS_ADMIN capabilities to access the total memory usage,\nyou can run `sudo setcap cap_perfmon=ep nvtop` to grant the necessary permissions or run nvtop as root.\n\n### NVIDIA\n\nThe *NVML library* does not support some of the queries for GPUs coming before the\nKepler microarchitecture. Anything starting at GeForce 600, GeForce 800M and\nsuccessor should work fine. For more information about supported GPUs please\ntake a look at the [NVML documentation](http://docs.nvidia.com/deploy/nvml-api/nvml-api-reference.html#nvml-api-reference).\n\n### Adreno\n\nNVTOP supports Adreno GPUs using the `msm` linux driver.\n\nmsm introduced the fdinfo interface in kernel 6.0 ([browse kernel\nsource](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpu/drm/msm/msm_drv.c?h=linux-6.0.y)).\nHence, you will need a kernel with a version greater or equal to 6.0 to see the\nprocesses using Adreno GPUs.\n\n### Apple\n\nNVTOP includes some initial support for Apple using Metal. This is only supported when building for Apple, and when building for Apple only this vendor is supported.\n\n**APPLE SUPPORT STATUS**\n- Apple support is still being worked on. Some bugs and limitations may apply.\n\n### Ascend\n\nNVTOP supports Ascend (testing on Altas 800 (910B)) by DCMI API (version 6.0.0).\n\nCurrently, the DCMI only supports limited APIs, missing PCIe generation, tx/rx throughput info, max power draw etc.\n\n### VideoCore\n\nNVTOP supports VideoCore (testing on raspberrypi 4B).\n\nSupports GPU frequency, temperature, utilization, per-process utilization, GPU memory usage, and H264 decoding utilization.\n\nOn non-raspberry pi os, you need to use the `linux-rpi 6.12.y` kernel and above, and ensure the presence of the `/dev/vcio` device.\n\nBuild\n-----\n\nSeveral libraries are required in order for NVTOP to display GPU info:\n\n* The *ncurses* library driving the user interface.\n  * This makes the screen look beautiful.\n* For NVIDIA: the *NVIDIA Management Library* (*NVML*) which comes with the GPU driver.\n  * This queries the GPU for info.\n* For AMD: the libdrm library used to query AMD GPUs through the kernel driver.\n\n## Distribution Specific Installation Process\n\n### Ubuntu / Debian\n\nIf your distribution provides the snap utility, follow the [snap installation process](#snap) to obtain an up-to-date version of `nvtop`.\n\nA standalone application is available as [AppImage](#appimage).\n\n#### Ubuntu Impish (21.10), Debian buster (stable) and more recent\n\n- ```bash\n  sudo apt install nvtop\n  ```\n\n#### Ubuntu PPA\n\nA [PPA supporting Ubuntu 20.04, 22.04 and newer](https://launchpad.net/~flexiondotorg/+archive/ubuntu/nvtop) is provided by\n[Martin Wimpress](https://github.com/flexiondotorg) that offers an up-to-date\nversion of `nvtop`, enabled for NVIDIA, AMD and Intel.\n\n```bash\nsudo add-apt-repository ppa:flexiondotorg/nvtop\nsudo apt install nvtop\n```\n\n#### Older\n\n- AMD and Intel Dependencies\n  ```bash\n  sudo apt install libdrm-dev libsystemd-dev\n  # Ubuntu 18.04\n  sudo apt install libudev-dev\n  ```\n\n- NVIDIA Depenency\n  - NVIDIA drivers (see [Ubuntu Wiki](https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia) or [Ubuntu PPA](https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa) or [Debian Wiki](https://wiki.debian.org/NvidiaGraphicsDrivers#NVIDIA_Proprietary_Driver))\n\n- NVTOP Dependencies\n - CMake, ncurses and Git\n  ```bash\n  sudo apt install cmake libncurses5-dev libncursesw5-dev git\n  ```\n\n- NVTOP\n  - Follow the [NVTOP Build](#nvtop-build)\n\n\n### Fedora / Red Hat / CentOS\n\nA standalone application is available as [AppImage](#appimage).\n\n#### Fedora 36 and newer\n\n- ```bash\n  sudo dnf install nvtop\n  ```\n\n#### Red Hat Enterprise Linux 8 and 9\n\n- ```bash\n  sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %{rhel}).noarch.rpm\n  sudo dnf install nvtop\n  ```\n\n#### CentOS Stream, Rocky Linux, AlmaLinux\n\n- ```bash\n  sudo dnf install -y epel-release\n  sudo dnf install nvtop\n  ```\n\n#### Build process for Fedora / Red Hat / CentOS:\n\n- AMD and Intel Dependencies\n  ```bash\n  sudo dnf install libdrm-devel systemd-devel\n  ```\n\n- NVIDIA Depenency\n  - NVIDIA drivers, **CUDA required for nvml libraries** (see [RPM Fusion](https://rpmfusion.org/Howto/NVIDIA))\n\n- NVTOP Dependencies\n - CMake, ncurses, C++ and Git\n  ```bash\n  sudo dnf install cmake ncurses-devel git gcc-c++\n  ```\n\n- NVTOP\n  - Follow the [NVTOP Build](#nvtop-build)\n\n### OpenSUSE\n\nA standalone application is available as an [AppImage](#appimage).\n\nBuild process for OpenSUSE:\n\n- AMD Dependecy\n  ```bash\n  sudo zypper install libdrm-devel\n  ```\n\n- NVIDIA Depenency\n  - NVIDIA drivers (see [SUSE Support Database](https://en.opensuse.org/SDB:NVIDIA_drivers))\n\n- NVTOP Dependencies\n  - CMake, ncurses and Git\n    ```bash\n    sudo zypper install cmake ncurses-devel git\n    ```\n\n- NVTOP\n  - Follow the [NVTOP Build](#nvtop-build)\n\n### Arch Linux\n\n- ```bash\n  sudo pacman -S nvtop\n  ```\n\n### Gentoo\n\n- ```bash\n  sudo emerge -av nvtop\n  ```\n\n### AppImage\n\nAn AppImage is a standalone application. Just download the AppImage, make it executable and run it!\n\n- Go to the [release page](https://github.com/Syllo/nvtop/releases/latest) and download `nvtop-x86_64.AppImage`\n\n- ```bash\n  # Go to the download location ** The path may differ on your system **\n  cd $HOME/Downloads\n  # Make the AppImage executable\n  chmod u+x nvtop-x86_64.AppImage\n  # Enjoy nvtop\n  ./nvtop-x86_64.AppImage\n  ```\n\nIf you are curious how that works, please visit the [AppImage website](https://appimage.org/).\n\n### Snap\n\n- ```bash\n  snap install nvtop\n  # Add the capability to kill processes inside nvtop\n  snap connect nvtop:process-control\n  # Add the capability to inspect GPU information (fan, PCIe, power, etc)\n  snap connect nvtop:hardware-observe\n  # AMDGPU process list support (read /proc/\u003cpid\u003e)\n  snap connect nvtop:system-observe\n  # Temporary workaround to get per-process GPU usage (read /proc/\u003cpid\u003e/fdinfo)\n  snap connect nvtop:kubernetes-support\n  ```\n\nNotice: The connect commands allow\n\n### Conda-forge\n\nA [conda-forge feedstock for `nvtop`](https://github.com/conda-forge/nvtop-feedstock) is available.\n\n#### conda / mamba / miniforge\n\n```bash\nconda install --channel conda-forge nvtop\n```\n\n#### pixi\n\n```bash\npixi global install nvtop\n```\n\n### Docker\n\n- NVIDIA drivers (same as above)\n\n- [nvidia-docker](https://github.com/NVIDIA/nvidia-docker) (See [Container Toolkit Installation Guide](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker))\n\n- ```bash\n  git clone https://github.com/Syllo/nvtop.git \u0026\u0026 cd nvtop\n  sudo docker build --tag nvtop .\n  sudo docker run -it --rm --runtime=nvidia --gpus=all --pid=host nvtop\n  ```\n\n## NVTOP Build\n\n```bash\ngit clone https://github.com/Syllo/nvtop.git\nmkdir -p nvtop/build \u0026\u0026 cd nvtop/build\ncmake .. -DNVIDIA_SUPPORT=ON -DAMDGPU_SUPPORT=ON -DINTEL_SUPPORT=ON\nmake\n\n# Install globally on the system\nsudo make install\n\n# Alternatively, install without privileges at a location of your choosing\n# make DESTDIR=\"/your/install/path\" install\n```\n\nIf you use **conda** as environment manager and encounter an error while building NVTOP, try `conda deactivate` before invoking `cmake`.\n\nThe build system supports multiple build types (e.g. -DCMAKE_BUILD_TYPE=RelWithDebInfo):\n\n* Release: Binary without debug info\n* RelWithDebInfo: Binary with debug info\n* Debug: Compile with warning flags and address/undefined sanitizers enabled (for development purposes)\n\nTroubleshoot\n------------\n\n- The plot looks bad:\n  - Verify that you installed the wide character version of the ncurses library (libncurses**w**5-dev for Debian / Ubuntu), clean the build directory and restart the build process.\n- **Putty**: Tell putty not to lie about its capabilities (`$TERM`) by setting the field ``Terminal-type string`` to ``putty`` in the menu\n  ``Connection \u003e Data \u003e Terminal Details``.\n\nLicense\n-------\n\nNVTOP is licensed under the GPLv3 license or any later version.\nYou will find a copy of the license inside the COPYING file of the repository or\nat the GNU website \u003c[www.gnu.org/licenses/](http://www.gnu.org/licenses/)\u003e.\n","funding_links":[],"categories":["Hardware Management","C","HarmonyOS","Command Line Utilities","Operation System","Uncategorized","Cross-Platform","Table of Contents","Tools","System","Packages","Administrate Server","\u003ca name=\"monitor-top\"\u003e\u003c/a\u003eProcess viewers and monitoring (alternatives to top)"],"sub_categories":["Windows Manager","System Info / Monitoring","Monitoring","Uncategorized","JavaScript","System Monitoring","CLI Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSyllo%2Fnvtop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSyllo%2Fnvtop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSyllo%2Fnvtop/lists"}