Giter Site home page Giter Site logo

syllo / nvtop Goto Github PK

View Code? Open in Web Editor NEW
7.4K 7.4K 269.0 788 KB

GPU & Accelerator process monitoring for AMD, Apple, Huawei, Intel, NVIDIA and Qualcomm

License: Other

CMake 7.38% C 89.19% Dockerfile 0.18% Shell 0.46% C++ 1.44% Objective-C 1.35%
adreno amd apple ascend command-line-tool gpu huawei intel linux monitoring ncurses nvidia

nvtop's People

Contributors

caseylai avatar cfwen avatar comradekingu avatar ebetica avatar euro20179 avatar felixonmars avatar flexiondotorg avatar frankenstein91 avatar hliuca avatar jackyyf avatar jun0922 avatar khoyo avatar larunbe avatar mormacill avatar nightmayr avatar ototot avatar paklui avatar qwertychouskie avatar red-eyed avatar samraymond avatar seibz avatar snektron avatar sonicadvance1 avatar svenstaro avatar syllo avatar thehamsta avatar tzing avatar vowstar avatar xuehaipan avatar zhuyifei1999 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nvtop's Issues

Support GeForce GT 71

is this normal?

GPU-Util[                                                                             N/A]
MEM-Util[||||||||||||||||||||||||||||||||                                       0.8G/2.1G]
Encoder[                                N/A]
Decoder[                                N/A]
$ nvidia-smi -L
GPU 0: GeForce GT 710
==============NVSMI LOG==============
Driver Version                      : 410.57

show CPU utilization

Hi,

first thanks for this great tool. It really simplifies to keep track of the running GPU processes on our servers. I would also like to also see the CPU utilization. If I would create a pull request, would you welcome this feature?

Thank you,
Leon

undefined symbol: nvmlDeviceGetPcieThroughput

I just installed new Nvidia driver 340 on my machine and downloaded nvtop from the repo. Installed it and after trying to run the nvtop command it gives out the following error message:
nvtop: symbol lookup error: nvtop: undefined symbol: nvmlDeviceGetPcieThroughput
Tried to google, but didn't find any relevant answers that I can understand. Can anyone help me with this error?

Specs:
OS: Ubuntu 16.04 LTS
GPU: Quadro K1000M/PCIe/SSE2

Not issue but feature question

I've found option to select or ignore some GPUs, but the bar-plot still draws two main GPUs charts on one plot.

I've 3 GPUs - 1 710 (device 0) to connect to monitor and draw X-server and two more 1080ti (devices 1 and 2) for DS calculation.
With default "htop" run - we have two plots - one for both 1080ti on one chart and one for not needed 710.
When i run "htop -i 0" it selects right GPUs but still draws only one plot with both 1080ti on it.

Is it possible to have two separate graphs for GPU 1 and GPU 2?

Thanks!

Regarding the shortcuts

Great tool. I think it would be nice to have the same shortcuts as htop. - Just a suggestion.

Could NOT find NVML (missing: NVML_LIBRARIES) (found version "10")

Under the lastest Jetpack version 4.2.1 for embedded devices like Xavier or TX2 I'm seeing this issue when trying to cmake:

cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True

I get the error:

-- The C compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at /usr/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find NVML (missing: NVML_LIBRARIES) (found version "10")
Call Stack (most recent call first):
  /usr/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNVML.cmake:52 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:31 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/nvidia/Documents/nvtop/build/CMakeFiles/CMakeOutput.log".

It seems it finds NVML and doesn't find it in the download part where you look for:

https://raw.githubusercontent.com/NVIDIA/nvidia-settings/master/src/nvml.h

Any insight is appreciated!

Show per-process utilization

As far as I understand, it's possible to get per-process utilization with nvmlDeviceGetProcessUtilization function. It'd be useful to have utilization together with memory usage per process.

Cannot find Curses (Debian 9.7, Google Deep Learning VM image)

I am using the common-cu100 image of:
https://cloud.google.com/deep-learning-vm/docs/images

which is:

lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.7 (stretch)
Release:	9.7
Codename:	stretch

In order to find the NVLM libraries I need to use:

cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True -DNVML_LIBRARIES="/usr/lib/x86_64-linux-gnu/"

However, it still fails to find ncurses.

cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True -DNVML_LIBRARIES="/usr/lib/x86_64-linux-gnu/"
-- The C compiler identification is GNU 7.3.0
-- Check for working C compiler: /home/sp/miniconda3/envs/py3env/bin/x86_64-conda_cos6-linux-gnu-cc
-- Check for working C compiler: /home/sp/miniconda3/envs/py3env/bin/x86_64-conda_cos6-linux-gnu-cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting build type to 'Release' as none was specified.
-- Found NVML: /usr/local/cuda-10.0/include (found version "10")
CMake Error at /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find Curses (missing: CURSES_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindCurses.cmake:248 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:46 (find_package)

which are correctly installed:

 dpkg -l |grep libncurses
ii  libncurses5:amd64                     6.0+20161126-1+deb9u2          amd64        shared libraries for terminal handling
ii  libncurses5-dev:amd64                 6.0+20161126-1+deb9u2          amd64        developer's libraries for ncurses
ii  libncursesw5:amd64                    6.0+20161126-1+deb9u2          amd64        shared libraries for terminal handling (wide character support)
ii  libncursesw5-dev:amd64                6.0+20161126-1+deb9u2          amd64        developer's libraries for ncursesw
ls /usr/include/ncurses.h
/usr/include/ncurses.h
sudo ldconfig -p | grep curses
	libncursesw.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.5
	libncurses.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncurses.so.5

What exact command line flags should I pass to cmake to make it compile?
Thank you!

Cannot open in a stand alone terminal (.desktop file)

If I try to create a stand alone instance like htop allows me to.
(htop case: xfce4-terminal -T "htop" -x /usr/bin/sudo /usr/bin/htop)
For example, this .desktop file (I added the .txt so I can upload it):
Exec=xfce4-terminal -T "NvTop" -x /usr/bin/sudo /usr/bin/nvtop
NvTop.desktop.txt
nvtop starts and then stops immediately after.

However, it seems to work just fine. If I open a terminal instance and run nvtop, nvtop runs as expected. It works both as root and as normal user.
Am I missing something?

ENC percentage, what it is?

Yes I know is not an issue

I'm converting a video with ffmpeg and h264_nvenc encoder (nvidia encoder) and I'm having ENC close to 100%

This is Encoder usage % isn't it?

I'm asking because there is no explicit reference/documentation...

Gen1@16x

Device 0 [GeForce GTX 1080 Ti] PCIe GEN 3@16x
Device 1 [GeForce GTX 1080 Ti] PCIe GEN 1@16x

but we know it works at GEN 3

doesn't work with latest nvidia driver on Ubuntu

apt-get install nvtop

The following NEW packages will be installed:
libnvidia-compute-418 libnvidia-compute-430 ...

The following packages will be REMOVED:
libnvidia-compute-435 ...

Can nvtop be updated to use the current driver? Thanks.

Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

Followed a previous post, but running
cmake -DCMAKE_LIBRARY_PATH="/lib/x86_64-linux-gnu/" ..
nor
cmake -DCMAKE_LIBRARY_ARCHITECTURE="x86_64-linux-gnu" ..
helped.

(building from source)
This is the output error and log file

t-dvginz@DGX-Station:~/repos/nvtop/build$ cmake -DCMAKE_LIBRARY_PATH="/lib/x86_64-linux-gnu/" ..
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindCurses.cmake:256 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:46 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/t-dvginz/repos/nvtop/build/CMakeFiles/CMakeOutput.log".
The system is: Linux - 4.15.0-39-generic - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/cc 
Build flags: 
Id flags:  

The output was:
0


Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"

The C compiler identification is GNU, found in "/home/XXX/repos/nvtop/build/CMakeFiles/3.10.2/CompilerIdC/a.out"

Determining if the C compiler works passed with the following output:
Change Dir: /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_a5be3/fast"
/usr/bin/make -f CMakeFiles/cmTC_a5be3.dir/build.make CMakeFiles/cmTC_a5be3.dir/build
make[1]: Entering directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_a5be3.dir/testCCompiler.c.o
/usr/bin/cc    -o CMakeFiles/cmTC_a5be3.dir/testCCompiler.c.o   -c /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_a5be3
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a5be3.dir/link.txt --verbose=1
/usr/bin/cc      -rdynamic CMakeFiles/cmTC_a5be3.dir/testCCompiler.c.o  -o cmTC_a5be3 
make[1]: Leaving directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'


Detecting C compiler ABI info compiled with the following output:
Change Dir: /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_1e501/fast"
/usr/bin/make -f CMakeFiles/cmTC_1e501.dir/build.make CMakeFiles/cmTC_1e501.dir/build
make[1]: Entering directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o
/usr/bin/cc    -o CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c
Linking C executable cmTC_1e501
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e501.dir/link.txt --verbose=1
/usr/bin/cc     -v -rdynamic CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o  -o cmTC_1e501 
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1e501' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccssVplQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e501 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1e501' '-mtune=generic' '-march=x86-64'
make[1]: Leaving directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'


Parsed C implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_1e501/fast"]
  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_1e501.dir/build.make CMakeFiles/cmTC_1e501.dir/build]
  ignore line: [make[1]: Entering directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp']
  ignore line: [Building C object CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o]
  ignore line: [/usr/bin/cc    -o CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.10/Modules/CMakeCCompilerABI.c]
  ignore line: [Linking C executable cmTC_1e501]
  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e501.dir/link.txt --verbose=1]
  ignore line: [/usr/bin/cc     -v -rdynamic CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o  -o cmTC_1e501 ]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/cc]
  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper]
  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
  ignore line: [Target: x86_64-linux-gnu]
  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) ]
  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/]
  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_1e501' '-mtune=generic' '-march=x86-64']
  link line: [ /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccssVplQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e501 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o]
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/collect2] ==> ignore
    arg [-plugin] ==> ignore
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so] ==> ignore
    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper] ==> ignore
    arg [-plugin-opt=-fresolution=/tmp/ccssVplQ.res] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
    arg [-plugin-opt=-pass-through=-lc] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
    arg [--sysroot=/] ==> ignore
    arg [--build-id] ==> ignore
    arg [--eh-frame-hdr] ==> ignore
    arg [-m] ==> ignore
    arg [elf_x86_64] ==> ignore
    arg [--hash-style=gnu] ==> ignore
    arg [--as-needed] ==> ignore
    arg [-export-dynamic] ==> ignore
    arg [-dynamic-linker] ==> ignore
    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
    arg [-pie] ==> ignore
    arg [-znow] ==> ignore
    arg [-zrelro] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_1e501] ==> ignore
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o] ==> ignore
    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7]
    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu]
    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib]
    arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
    arg [-L/lib/../lib] ==> dir [/lib/../lib]
    arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
    arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../..]
    arg [CMakeFiles/cmTC_1e501.dir/CMakeCCompilerABI.c.o] ==> ignore
    arg [-lgcc] ==> lib [gcc]
    arg [--push-state] ==> ignore
    arg [--as-needed] ==> ignore
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [--pop-state] ==> ignore
    arg [-lc] ==> lib [c]
    arg [-lgcc] ==> lib [gcc]
    arg [--push-state] ==> ignore
    arg [--as-needed] ==> ignore
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [--pop-state] ==> ignore
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o] ==> ignore
  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7] ==> [/usr/lib/gcc/x86_64-linux-gnu/7]
  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib] ==> [/usr/lib]
  collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
  collapse library dir [/lib/../lib] ==> [/lib]
  collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
  collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../..] ==> [/usr/lib]
  implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
  implicit fwks: []




Detecting C [-std=c11] compiler features compiled with the following output:
Change Dir: /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_a2368/fast"
/usr/bin/make -f CMakeFiles/cmTC_a2368.dir/build.make CMakeFiles/cmTC_a2368.dir/build
make[1]: Entering directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_a2368.dir/feature_tests.c.o
/usr/bin/cc   -std=c11 -o CMakeFiles/cmTC_a2368.dir/feature_tests.c.o   -c /home/XXX/repos/nvtop/build/CMakeFiles/feature_tests.c
Linking C executable cmTC_a2368
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a2368.dir/link.txt --verbose=1
/usr/bin/cc      -rdynamic CMakeFiles/cmTC_a2368.dir/feature_tests.c.o  -o cmTC_a2368 
make[1]: Leaving directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'


    Feature record: C_FEATURE:1c_function_prototypes
    Feature record: C_FEATURE:1c_restrict
    Feature record: C_FEATURE:1c_static_assert
    Feature record: C_FEATURE:1c_variadic_macros


Detecting C [-std=c99] compiler features compiled with the following output:
Change Dir: /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_b779c/fast"
/usr/bin/make -f CMakeFiles/cmTC_b779c.dir/build.make CMakeFiles/cmTC_b779c.dir/build
make[1]: Entering directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_b779c.dir/feature_tests.c.o
/usr/bin/cc   -std=c99 -o CMakeFiles/cmTC_b779c.dir/feature_tests.c.o   -c /home/XXX/repos/nvtop/build/CMakeFiles/feature_tests.c
Linking C executable cmTC_b779c
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b779c.dir/link.txt --verbose=1
/usr/bin/cc      -rdynamic CMakeFiles/cmTC_b779c.dir/feature_tests.c.o  -o cmTC_b779c 
make[1]: Leaving directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'


    Feature record: C_FEATURE:1c_function_prototypes
    Feature record: C_FEATURE:1c_restrict
    Feature record: C_FEATURE:0c_static_assert
    Feature record: C_FEATURE:1c_variadic_macros


Detecting C [-std=c90] compiler features compiled with the following output:
Change Dir: /home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_a7fb3/fast"
/usr/bin/make -f CMakeFiles/cmTC_a7fb3.dir/build.make CMakeFiles/cmTC_a7fb3.dir/build
make[1]: Entering directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_a7fb3.dir/feature_tests.c.o
/usr/bin/cc   -std=c90 -o CMakeFiles/cmTC_a7fb3.dir/feature_tests.c.o   -c /home/XXX/repos/nvtop/build/CMakeFiles/feature_tests.c
Linking C executable cmTC_a7fb3
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a7fb3.dir/link.txt --verbose=1
/usr/bin/cc      -rdynamic CMakeFiles/cmTC_a7fb3.dir/feature_tests.c.o  -o cmTC_a7fb3 
make[1]: Leaving directory '/home/XXX/repos/nvtop/build/CMakeFiles/CMakeTmp'


    Feature record: C_FEATURE:1c_function_prototypes
    Feature record: C_FEATURE:0c_restrict
    Feature record: C_FEATURE:0c_static_assert
    Feature record: C_FEATURE:0c_variadic_macros

CPU usage calculation wrong

Hi, i use nvtop 1.0.0 on Ubuntu 18.04.03 and Nvidia 440.33.01.
While Rendering on the GPU with Blender 2.82 i found this gpu usage of 991%
nvtop

CPU is a Ryzen 5 2600x

Not getting graphs

Hey,

I'm running Fedora 25, followed the instructions, but getting the following. Unsure where I've gone wrong?

capture

Thanks!

Prometheus Metrics

Would it be in the scope of the project to have nvtop run as a daemon and have a collector to serve nvidia metrics that Prometheus can consume?

I am imagining a flag nvtop --daemon --metrics --metrics-port 8000 or something, that would be useful to get the information into Grafana :)

Thanks

Cuda 9 Support

Thanks for this amazing work. I'm using this tool on a lot of Systems.
With Cuda 9 Installed on Ubuntu 16.04 I get the following problem:

-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- No building type advertised, default to Release
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find NVML (missing: NVML_LIBRARIES) (found version "9")
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNVML.cmake:47 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:26 (find_package)
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.81                 Driver Version: 384.81                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  TITAN X (Pascal)    Off  | 00000000:82:00.0 Off |                  N/A |
| 23%   32C    P8    17W / 250W |    170MiB / 12188MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1772      G   /usr/lib/xorg/Xorg                             6MiB |
|    0     18965      C   python                                       153MiB |
+-----------------------------------------------------------------------------+

Do you know how I can run nvtop with Cuda 9?

Issue with make

After cmake in the build directory, I had the following error when i make.

make
make: Warning: File Makefile' has modification time 25 s in the future make[1]: Warning: File CMakeFiles/Makefile2' has modification time 25 s in the future
make[2]: Warning: File src/CMakeFiles/nvtop.dir/flags.make' has modification time 25 s in the future Scanning dependencies of target nvtop make[2]: warning: Clock skew detected. Your build may be incomplete. make[2]: Warning: File src/CMakeFiles/nvtop.dir/flags.make' has modification time 25 s in the future
[ 12%] Building C object src/CMakeFiles/nvtop.dir/nvtop.c.o
[ 25%] Building C object src/CMakeFiles/nvtop.dir/interface.c.o
[ 37%] Building C object src/CMakeFiles/nvtop.dir/interface_layout_selection.c.o
[ 50%] Building C object src/CMakeFiles/nvtop.dir/get_process_info_linux.c.o
[ 62%] Building C object src/CMakeFiles/nvtop.dir/extract_gpuinfo.c.o
[ 75%] Building C object src/CMakeFiles/nvtop.dir/time.c.o
[ 87%] Building C object src/CMakeFiles/nvtop.dir/plot.c.o
[100%] Linking C executable nvtop
/usr/local/lib/libncursesw.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [src/nvtop] Error 1
make[1]: *** [src/CMakeFiles/nvtop.dir/all] Error 2
make: *** [all] Error 2

Can anyone please kindly help?

Add an option to ignore mem and show only GPU

It would be great if there was an option to run nvtop without showing the MEM - showing only the GPU. MEM is usually constant and the lines in the graphs are only disturbing the viewing of the GPU lines
Thanks

Unbound memory allocation on system with six gpus

Hey there - thanks for this amazing monitoring tool! 🙇

Here's an issue I'm hitting: when running on a 6-gpu system nvtop allocates memory until it is getting killed by the linux oom killer. It looks like there is an overflow somewhere leading to unbound memory allocation (at a rate of multiple GBs per second).

Another data point: this behavior stops to happen when I run in a small terminal (e.g. 80x24) or in a tmux split pane, which indicates it has something to do with the live utilization plots.

When running a debug build and sending a SIGHUP signal during the memory allocation I get backtraces indicating draw_plots in the problem, e.g.

(gdb) bt
#0  0x00005555555c11c8 in nvtop_line_plot (win=0x0, num_data=3200171704, data=0x7ff9f9354800, min=0, max=100, num_plots=4, legend=0x7fffffffe000) at /home/djh/nvtop/src/plot.c:61
#1  0x00005555555a99db in draw_plots (interface=0x6110000002c0) at /home/djh/nvtop/src/interface.c:1604
#2  0x00005555555a9ce1 in draw_gpu_info_ncurses (dev_info=0x61a000000c80, interface=0x6110000002c0) at /home/djh/nvtop/src/interface.c:1625
#3  0x0000555555594192 in main (argc=1, argv=0x7fffffffe4a8) at /home/djh/nvtop/src/nvtop.c:270

Hope that helps, let me know if you need more information.

nvtop not found in Debian Buster repositories

I am using "Debian GNU/Linux 10 (buster) x86_64" and have activated the non-free repos in sources.list.
When trying to install nvtop, I get the following output:

svdhero@box:~$ sudo apt install nvtop
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package nvtop

The README.md states that nvtop should be in the Debian repos. What's wrong here?

[Ubuntu < 22.04] apt install nvtop breaks / requires another nvidia driver

Ubuntu 19.10
After I upgraded the Nvidia driver to 440, I can no longer use nvtop and can't install it.
Is there any solution other than downgrading the driver?

(base) admin01@admin01-ubuntu:~$ sudo apt install nvtop
[sudo] password for admin01: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nvtop : Depends: libnvidia-compute-418 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Can't scroll/view offscreen processes

I have a server running something one the order of 80 GPU processes spread across 8 GPU's.
The issue is I can't scroll the process list beyond the first visible one's(14 on my MBP's screen).
P.S.
Built from latest commit in dev.

Cannot compile

~/nvtop/build$ make
[ 20%] Linking C executable nvtop
/usr/lib32/nvidia-390/libnvidia-ml.so: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
src/CMakeFiles/nvtop.dir/build.make:176: recipe for target 'src/nvtop' failed
make[2]: *** [src/nvtop] Error 1
CMakeFiles/Makefile2:117: recipe for target 'src/CMakeFiles/nvtop.dir/all' failed
make[1]: *** [src/CMakeFiles/nvtop.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

functional enhancement

Would it still be possible to have the consumed watts drawn in the diagram?
Thank you

ENC isn't being shown on graph

As can be seen in the below graph, GPU and MEM are shown, but the ENC value isn't being plotted.

capture

Netdata is showing as follows:

capture

Can not compile on Nvidia jetson nano board

Hi,
I got this error when I tried to compile nvtop on nvidia jetson nano

-- The C compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting build type to 'Release' as none was specified.
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find NVML (missing: NVML_LIBRARIES) (found version "10")
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNVML.cmake:52 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:31 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/pythops/nvtop/build/CMakeFiles/CMakeOutput.log".

Environment
OS: Ubuntu 18.04.3 LTS
Cuda: 10.0.326-1
libcudnn: 7.5.0.56-1+cuda10.0
nvml: cuda-nvml-dev-10-0

Additional info

$ ldconfig -p | grep libnvidia-ml
	libnvidia-ml.so.1 (libc6,AArch64) => /usr/local/cuda/lib64/stubs/libnvidia-ml.so.1

Any help would be appreciated !

help message typo

  -s --gpu-select   : Column separated list of GPU IDs to monitor
  -i --gpu-ignore   : Column separated list of GPU IDs to ignore

should be "colon" instead of "column" (to match man page)

Bad plot with libncursesw5-dev installed

Running Ubuntu 16.04.5 LTS with Cuda compilation tools release 9.0 and the recommended ncurses libraries:

(base) ubuntu@ip-172-31-81-132:~/nvtop$ dpkg -l |grep libncurses
ii  libncurses5:amd64                      6.0+20160213-1ubuntu1                      amd64        shared libraries for terminal handling
ii  libncurses5-dev:amd64                  6.0+20160213-1ubuntu1                      amd64        developer's libraries for ncurses
ii  libncursesw5:amd64                     6.0+20160213-1ubuntu1                      amd64        shared libraries for terminal handling (wide character support)
ii  libncursesw5-dev:amd64                 6.0+20160213-1ubuntu1                      amd64        developer's libraries for ncursesw

Everything also seemed to build fine:

(base) ubuntu@ip-172-31-81-132:~$ mkdir -p nvtop/build && cd nvtop/build
(base) ubuntu@ip-172-31-81-132:~/nvtop/build$ cmake ..
-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting build type to 'Release' as none was specified.
-- Found NVML: /usr/local/cuda/include (found version "9")
-- Looking for cbreak in /home/ubuntu/anaconda3/lib/libncursesw.so
-- Looking for cbreak in /home/ubuntu/anaconda3/lib/libncursesw.so - not found
-- Found Curses: /home/ubuntu/anaconda3/lib/libncursesw.so
-- Performing Test compiler_has-Wall
-- Performing Test compiler_has-Wall - Success
-- Performing Test compiler_has-Wpedantic
-- Performing Test compiler_has-Wpedantic - Success
-- Performing Test compiler_has-Wextra
-- Performing Test compiler_has-Wextra - Success
-- Performing Test compiler_has-Waddress
-- Performing Test compiler_has-Waddress - Success
-- Performing Test compiler_has-Waggressive-loop-optimizations
-- Performing Test compiler_has-Waggressive-loop-optimizations - Success
-- Performing Test compiler_has-Wcast-qual
-- Performing Test compiler_has-Wcast-qual - Success
-- Performing Test compiler_has-Wcast-align
-- Performing Test compiler_has-Wcast-align - Success
-- Performing Test compiler_has-Wbad-function-cast
-- Performing Test compiler_has-Wbad-function-cast - Success
-- Performing Test compiler_has-Wmissing-declarations
-- Performing Test compiler_has-Wmissing-declarations - Success
-- Performing Test compiler_has-Wmissing-parameter-type
-- Performing Test compiler_has-Wmissing-parameter-type - Success
-- Performing Test compiler_has-Wmissing-prototypes
-- Performing Test compiler_has-Wmissing-prototypes - Success
-- Performing Test compiler_has-Wnested-externs
-- Performing Test compiler_has-Wnested-externs - Success
-- Performing Test compiler_has-Wold-style-declaration
-- Performing Test compiler_has-Wold-style-declaration - Success
-- Performing Test compiler_has-Wold-style-definition
-- Performing Test compiler_has-Wold-style-definition - Success
-- Performing Test compiler_has-Wstrict-prototypes
-- Performing Test compiler_has-Wstrict-prototypes - Success
-- Performing Test compiler_has-Wpointer-sign
-- Performing Test compiler_has-Wpointer-sign - Success
-- Performing Test compiler_has-Wdouble-promotion
-- Performing Test compiler_has-Wdouble-promotion - Success
-- Performing Test compiler_has-Wuninitialized
-- Performing Test compiler_has-Wuninitialized - Success
-- Performing Test compiler_has-Winit-self
-- Performing Test compiler_has-Winit-self - Success
-- Performing Test compiler_has-Wstrict-aliasing
-- Performing Test compiler_has-Wstrict-aliasing - Success
-- Performing Test compiler_has-Wsuggest-attribute-const
-- Performing Test compiler_has-Wsuggest-attribute-const - Success
-- Performing Test compiler_has-Wtrampolines
-- Performing Test compiler_has-Wtrampolines - Success
-- Performing Test compiler_has-Wfloat-equal
-- Performing Test compiler_has-Wfloat-equal - Success
-- Performing Test compiler_has-Wshadow
-- Performing Test compiler_has-Wshadow - Success
-- Performing Test compiler_has-Wunsafe-loop-optimizations
-- Performing Test compiler_has-Wunsafe-loop-optimizations - Success
-- Performing Test compiler_has-Wfloat-conversion
-- Performing Test compiler_has-Wfloat-conversion - Success
-- Performing Test compiler_has-Wlogical-op
-- Performing Test compiler_has-Wlogical-op - Success
-- Performing Test compiler_has-Wnormalized
-- Performing Test compiler_has-Wnormalized - Success
-- Performing Test compiler_has-Wdisabled-optimization
-- Performing Test compiler_has-Wdisabled-optimization - Success
-- Performing Test compiler_has-Whsa
-- Performing Test compiler_has-Whsa - Failed
-- Performing Test compiler_has-Wconversion
-- Performing Test compiler_has-Wconversion - Success
-- Performing Test compiler_has-Wunused-result
-- Performing Test compiler_has-Wunused-result - Success
-- Performing Test compiler_has-Werror-implicit-function-declaration
-- Performing Test compiler_has-Werror-implicit-function-declaration - Success
-- Performing Test linker_has-Wl_-z_relro
-- Performing Test linker_has-Wl_-z_relro - Success
-- Performing Test sanitizer-address-available
-- Performing Test sanitizer-address-available - Success
-- Performing Test sanitizer-undefined-available
-- Performing Test sanitizer-undefined-available - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/nvtop/build
(base) ubuntu@ip-172-31-81-132:~/nvtop/build$ make
Scanning dependencies of target nvtop
[ 12%] Building C object src/CMakeFiles/nvtop.dir/nvtop.c.o
[ 25%] Building C object src/CMakeFiles/nvtop.dir/interface.c.o
[ 37%] Building C object src/CMakeFiles/nvtop.dir/interface_layout_selection.c.o
[ 50%] Building C object src/CMakeFiles/nvtop.dir/get_process_info_linux.c.o
[ 62%] Building C object src/CMakeFiles/nvtop.dir/extract_gpuinfo.c.o
[ 75%] Building C object src/CMakeFiles/nvtop.dir/time.c.o
[ 87%] Building C object src/CMakeFiles/nvtop.dir/plot.c.o
[100%] Linking C executable nvtop
[100%] Built target nvtop
(base) ubuntu@ip-172-31-81-132:~/nvtop/build$ sudo make install
[100%] Built target nvtop
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/share/man/man1/nvtop.1
-- Installing: /usr/local/bin/nvtop
-- Set runtime path of "/usr/local/bin/nvtop" to "/usr/local/lib:/home/ubuntu/anaconda3/lib"

In there I see -- Looking for cbreak in /home/ubuntu/anaconda3/lib/libncursesw.so - not found and then -- Found Curses: /home/ubuntu/anaconda3/lib/libncursesw.so, which seems odd, but I'm assuming that worked. There is, of course, also this: -- Performing Test compiler_has-Whsa - Failed.

Anyway, like #36 the plot is a bunch of characters.

Following that thread, this is what ldd and echo $TERM return:

(base) ubuntu@ip-172-31-81-132:~/nvtop$ ldd build/src/nvtop
        linux-vdso.so.1 =>  (0x00007fff74739000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdbf5ce6000)
        libnvidia-ml.so.1 => /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 (0x00007fdbf56d7000)
        libncursesw.so.6 => /home/ubuntu/anaconda3/lib/libncursesw.so.6 (0x00007fdbf549e000)
        libtinfow.so.6 => /home/ubuntu/anaconda3/lib/libtinfow.so.6 (0x00007fdbf5263000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdbf4e99000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdbf5fef000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdbf4c7c000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdbf4a78000)
(base) ubuntu@ip-172-31-81-132:~/nvtop$ echo $TERM
xterm

I saw at the bottom of #36 that "the problem lies in the TERM variable being ansi," but my TERM variable is xterm, which is what I think it's supposed to be.

Any suggestions? Thank you.

Error with cmake

cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find NVML (missing: NVML_LIBRARIES) (found version "8")
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindNVML.cmake:52 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:30 (find_package)

-- Configuring incomplete, errors occurred!

I installed it on AWS without any problem. When I try installing it on server with docker I am using, I got that error.

Plot is bad on ubuntu 18.04

Installed on ubuntu 18.04 with CUDA 10.1 and the recommended ncurses libraries:

dpkg -l |grep libncurses
ii  libncurses5:amd64                     6.1-1ubuntu1.18.04                          amd64        shared libraries for terminal handling
ii  libncurses5-dev:amd64                 6.1-1ubuntu1.18.04                          amd64        developer's libraries for ncurses
ii  libncursesw5:amd64                    6.1-1ubuntu1.18.04                          amd64        shared libraries for terminal handling (wide character support)
ii  libncursesw5-dev:amd64                6.1-1ubuntu1.18.04                          amd64        developer's libraries for ncursesw

The plot looks bad:

 GPU 135MHz  MEM 877MHz  TEMP  37øC FAN N/A% POW  24 / 250 W
 GPU[                               0%] MEM[                      0.0G/16.9G]
   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
100³                                                                               GPU 0³
   ³                                                                                 MEM³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
75%³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
50%³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
25%³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
   ³                                                                                    ³
 0%³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij
   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  PID USER GPU    TYPE       GPU MEM    CPU  HOST MEM Command

The build warned with:

make
[ 12%] Building C object src/CMakeFiles/nvtop.dir/nvtop.c.o
[ 25%] Building C object src/CMakeFiles/nvtop.dir/interface.c.o
/tmp/nvtop-master/src/interface.c: In function ‘draw_gpu_info_ncurses’:
/tmp/nvtop-master/src/interface.c:1221:26: warning: ‘%6llu’ directive output may be truncated writing between 6 and 14 bytes into a region of size 9 [-Wformat-truncation=]
     snprintf(memory, 9, "%6lluMB", proc[i].used_memory / 1048576);
                          ^~~~~
/tmp/nvtop-master/src/interface.c:1221:25: note: directive argument in the range [0, 17592186044415]
     snprintf(memory, 9, "%6lluMB", proc[i].used_memory / 1048576);
                         ^~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
                 from /usr/include/curses.h:183,
                 from /tmp/nvtop-master/include/nvtop/plot.h:25,
                 from /tmp/nvtop-master/src/interface.c:24:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output between 9 and 17 bytes into a destination of size 9
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 37%] Building C object src/CMakeFiles/nvtop.dir/interface_layout_selection.c.o
[ 50%] Building C object src/CMakeFiles/nvtop.dir/get_process_info_linux.c.o
[ 62%] Building C object src/CMakeFiles/nvtop.dir/extract_gpuinfo.c.o
[ 75%] Building C object src/CMakeFiles/nvtop.dir/time.c.o
[ 87%] Building C object src/CMakeFiles/nvtop.dir/plot.c.o
[100%] Linking C executable nvtop
[100%] Built target nvtop

failed to make

Projects/nvtop/src/nvtop.c:23:10: fatal error: ncurses.h: No such file or directory
#include <ncurses.h>
^~~~~~~~~~~
compilation terminated.
src/CMakeFiles/nvtop.dir/build.make:62: recipe for target 'src/CMakeFiles/nvtop.dir/nvtop.c.o' failed
make[2]: *** [src/CMakeFiles/nvtop.dir/nvtop.c.o] Error 1
CMakeFiles/Makefile2:117: recipe for target 'src/CMakeFiles/nvtop.dir/all' failed
make[1]: *** [src/CMakeFiles/nvtop.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

error: unknown type names ‘nvmlDevice_t’, 'nvmlProcessInfo_t'

Following the instructions to build for Ubuntu 18.04.3 with (NVIDIA-SMI 440.26, Driver Version: 440.26), while running make, the build fails with errors:

... /nvtop/include/nvtop/extract_gpuinfo.h:76:3: error: unknown type name ‘nvmlDevice_t’
... /nvtop/include/nvtop/extract_gpuinfo.h:108:3: error: unknown type name ‘nvmlProcessInfo_t’

Potentially related information:

cmake reported:
CMake Warning (dev) at cmake/modules/FindNVML.cmake:45 (message):
Unable to find nvml api version

libnvidia-ml components are here:
$ ldconfig -p | grep nvidia-ml
libnvidia-ml.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1
libnvidia-ml.so.1 (libc6) => /usr/lib/i386-linux-gnu/libnvidia-ml.so.1
libnvidia-ml.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libnvidia-ml.so
libnvidia-ml.so (libc6) => /usr/lib/i386-linux-gnu/libnvidia-ml.so

license

under what license issues?

After update from 0.1.0 to 0.2.0 most of stats does not show up

Hello,
I am running Arch Linux with latest NVIDIA drivers. Not so long ago I got update from AUR, version 0.1.0 got updated to 0.2.0 and now most of the stats does not show up:

image

Before the update I could see stats and info for GTX 1080 Ti, for GTX 780 (2nd GPU) it was not shown as I understand because of NVIDIA limitations. But at the moment as you can see even 1st GPU does not show stuffs.

All that I can see is Temperature, Fan Speed and Memory Utilization.

Here is output of my nvidia-smi:

[adomas@genesis ~]$ nvidia-smi 
Mon Apr  9 01:43:44 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   62C    P0    84W / 280W |    820MiB / 11175MiB |      3%      Default |
+-------------------------------+----------------------+----------------------+                     
|   1  GeForce GTX 780     Off  | 00000000:02:00.0 N/A |                  N/A |                     
| 17%   31C    P8    N/A /  N/A |     59MiB /  3022MiB |     N/A      Default |                     
+-------------------------------+----------------------+----------------------+                     
                                                                                                    
+-----------------------------------------------------------------------------+                     
| Processes:                                                       GPU Memory |                     
|  GPU       PID   Type   Process name                             Usage      |                     
|=============================================================================|                     
|    0       888      G   /usr/lib/xorg-server/Xorg                    551MiB |                     
|    0      1805      G   /usr/bin/kwin_x11                             50MiB |                     
|    0      1811      G   /usr/bin/krunner                               2MiB |                   
|    0      1813      G   /usr/bin/plasmashell                         109MiB |                     
|    0      2468      G   ...as/.local/share/Steam/ubuntu12_32/steam   103MiB |                     
|    1                    Not Supported                                       |
+-----------------------------------------------------------------------------+

Wrap NVTOP in docker (Impossible to initialize nvidia nvml)

Hi guys, thanks for awesome tool.
Could you give an example how to wrap nvtop in docker?

Unfortunately this one:

FROM nvidia/cuda

RUN apt-get update && \
    apt-get install -y cmake libncurses5-dev libncursesw5-dev git && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* && \
    rm -rf /work/*


RUN ln -s /usr/local/cuda-10.1/targets/x86_64-linux/lib/stubs/libnvidia-ml.so /usr/local/lib/libnvidia-ml.so && \
    ln -s /usr/local/cuda-10.1/targets/x86_64-linux/lib/stubs/libnvidia-ml.so /usr/local/lib/libnvidia-ml.so.1



RUN cd /tmp && \
    git clone https://github.com/Syllo/nvtop.git && \
    mkdir -p nvtop/build && cd nvtop/build && \
    cmake .. && \
    make && \
    make install && \
    cd / && \
    rm -r /tmp/nvtop


CMD ["/usr/local/bin/nvtop"]

Results in:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING:

You should always run with libnvidia-ml.so that is installed with your
NVIDIA Display Driver. By default it's installed in /usr/lib and /usr/lib64.
libnvidia-ml.so in GDK package is a stub library that is attached only for
build purposes (e.g. machine that you build your application doesn't have
to have Display Driver installed).
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Impossible to initialize nvidia nvml : 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING:

You should always run with libnvidia-ml.so that is installed with your
NVIDIA Display Driver. By default it's installed in /usr/lib and /usr/lib64.
libnvidia-ml.so in GDK package is a stub library that is attached only for
build purposes (e.g. machine that you build your application doesn't have
to have Display Driver installed).
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

When I try to run with:

docker run --runtime=nvidia nvtop

Any ideas?

switch quit to F10

I would very much appreciate it if you could end the application with F10. It would be the same as htop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.