595 Commits

Author SHA1 Message Date
Maxime Schmitt
76890233d7 Flush snapshot stream 3.3.2 2026-02-08 18:44:22 +01:00
Maxime Schmitt
366fe7ea9d Bump version 3.3.2 2026-02-08 15:33:59 +01:00
Maxime Schmitt
cb90ff077f Merge pull request #439 from Steve-Tech/snapshot
Snapshot Enhancements
2026-02-08 13:57:39 +01:00
Maxime Schmitt
2c47bc17b5 Fix json cmdline indent 2026-02-08 13:56:03 +01:00
Maxime Schmitt
b6b693995d Encode/decode usage and processes in snapshot
Fixes: #336
2026-02-08 13:43:51 +01:00
Maxime Schmitt
f3c52031c0 Snapshot with delay by default 2026-02-08 13:43:51 +01:00
Stephen Horvath
1e6061f59b Fix invalid JSON in snapshot 2026-02-07 22:02:27 +10:00
Stephen Horvath
dc8345ba3c Add loop snapshot mode 2026-02-07 21:55:24 +10:00
Stephen Horvath
0f7ba08ec4 Add interval mode to snapshot 2026-02-07 21:34:45 +10:00
Maxime Schmitt
5e9d045674 Bump version 3.3.1 3.3.1 2026-01-18 14:09:11 +01:00
Maxime Schmitt
f552572260 Merge effective load within GPU percentage meter 2026-01-18 14:07:54 +01:00
Maxime Schmitt
c21bbd4cb2 Refactor unified memory computation and sanitize process memory usage 2026-01-17 16:04:07 +01:00
Maxime Schmitt
b281c38573 Fix NVIDIA memory reporting
Fixes: 432
Fixes: 424
2026-01-17 12:15:44 +01:00
Maxime Schmitt
15e6c81067 Bump version 3.3.0 3.3.0 2026-01-16 12:50:19 +01:00
Maxime Schmitt
8a478944db Fix metax warnings 2026-01-16 12:49:43 +01:00
Maxime Schmitt
db35353b19 Merge pull request #420 from zhenyu-xu-metax/fix-metax-gpu-number
Fix incorrect gpu number for METAX GPU
2026-01-16 12:31:35 +01:00
Maxime Schmitt
8f3a7bb52e Merge pull request #423 from airvzxf/feature/effective-load-metric
Feature: Introduce "Effective Load" metric (power-normalized usage)
2026-01-16 12:28:15 +01:00
Maxime Schmitt
e3b14a7f94 Bound effective load to 100% 2026-01-16 12:21:06 +01:00
Maxime Schmitt
e2b137288d Merge branch 'master' into feature/effective-load-metric 2026-01-16 11:47:33 +01:00
Zeyi Shen
cf1ae3441c Add support for Enflame GCU 2026-01-16 11:34:06 +01:00
rezky_nightky
cb7babefb3 Fix typos across documentation and source
- Correct dependency spelling in README for multiple distro instructions @README.markdown#193-276
- Clean up misspellings in CMake helpers and GPU info sources (temperature, PCIe, queries, etc.) @cmake/modules/FindCurses.cmake#50-58 @cmake/modules/sanitize-helpers.cmake#103-118 @src/extract_gpuinfo_amdgpu.c#444-637 @src/extract_gpuinfo_intel.c#225-234 @src/extract_gpuinfo_metax.c#100-512 @src/nvtop.c#70-77
- Fix header comments and struct field names for allocations, callbacks, and utilize fields @src/extract_processinfo_fdinfo.c#97-104 @include/nvtop/common.h#44-52 @include/nvtop/extract_processinfo_fdinfo.h#59-63 @include/ascend/dcmi_interface_api.h#75-455 @include/nvtop/interface_options.h#43-54 @src/interface.c#792-800

Author: rezky_nightky <with.rezky@gmail.com>
Timestamp: 2025-12-01T18:21:25Z
Repository: nvtop
Branch: master
Signing: GPG (989AF9F0)
Performance: 13 files, +31/-31 lines
2026-01-16 10:59:16 +01:00
Andrii Manzhola
c48d0586bc Fix assertion failure when duplicate client_id encountered
The assertion "We should not be processing a client id twice per update"
can fail when a process has multiple file descriptors referencing the
same DRM client (e.g., via dup(), fork(), or DRM master operations).

The kcmp syscall filters duplicate file descriptions but not distinct
file descriptions that report the same underlying DRM client_id.

This change converts the debug assertion into a runtime check that
gracefully skips duplicate entries and frees any newly allocated
cache entries to prevent memory leaks.

Fixes the crash:
  nvtop: ./src/extract_gpuinfo_amdgpu.c:964: parse_drm_fdinfo_amd:
  Assertion `!cache_entry_check && "We should not be processing a
  client id twice per update"' failed.

Applied to all affected drivers:
- AMDGPU
- Intel i915
- Intel Xe
- Qualcomm MSM (also fixed incorrect hash key usage)
- ARM Mali
2026-01-16 10:57:21 +01:00
Maxime Schmitt
c757823676 Merge pull request #428 from superm1/apu
When running on an AMD APU add VRAM + GTT together
2026-01-16 10:51:01 +01:00
Mario Limonciello (AMD)
16e0f1d843 When running on an AMD APU add VRAM + GTT together
The MEM display currently shows just VRAM (which is the carveout
of system memory).  However amdgpu will use VRAM or GTT interchangeably
on APUs.  That is this isn't really useful for most APU users.

Detect that an APU is in use and add the two together.

Closes: https://github.com/Syllo/nvtop/issues/399
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-12-13 08:39:28 -06:00
Israel Roldan
733fba12df Fix: Clamp effective load plot value to 100% 2025-11-26 19:27:56 -06:00
Israel Roldan
eae59fe7b3 Feat: Add Effective Load metric and plot
Introduces a new 'Effective Load' metric, calculated as GPU Load weighted by power consumption (Current Power / Max Power). This provides a more accurate representation of hardware throughput, especially in low P-States.

- Updates 'gpuinfo_dynamic_info' to store effective_load_rate.

- Implements calculation logic in 'extract_gpuinfo.c'.

- Adds 'Eff. Load' display to the device header in the ncurses interface.

- Adds 'Effective load rate' as a selectable metric in the Chart setup menu and handles config persistence.
2025-11-25 12:00:28 -06:00
zxu
4e1be6b5e7 fix incorrect gpu number for METAX GPU 2025-11-18 14:36:00 +08:00
Maxime Schmitt
4bf5db248d Merge pull request #413 from polluks/master
Update nvtop manpage with additional options
2025-10-25 14:54:27 +02:00
Maxime Schmitt
5f6d3df19c Merge pull request #411 from sbhavani/master
Add unified memory support for NVIDIA DGX Spark
2025-10-25 14:50:39 +02:00
Maxime Schmitt
0131238c03 Merge pull request #406 from KaeLL/master
Add device_field for memory clock
2025-10-25 14:42:58 +02:00
Maxime Schmitt
2005d0bb7e Merge pull request #401 from cipri-tom/master
Add F5 and Ctrl+L screen refresh functionality
2025-10-25 14:40:20 +02:00
Maxime Schmitt
79de353cdc Merge pull request #398 from zhenyu-xu-metax/add-feature-support-metax
Feat: add support for METAX GPU
2025-10-25 14:32:20 +02:00
Maxime Schmitt
d823a796e7 Merge pull request #400 from mintyleaf/snapshot_rich_memory_output
add rich memory stats for snapshot option
2025-10-25 14:27:22 +02:00
Stefan
7563806184 Update nvtop manpage with additional options 2025-10-17 10:54:55 +02:00
Santosh Bhavani
667860919c Fix unified memory GPU reporting to use actual GPU allocations
Query running processes to sum actual GPU memory usage instead of
reporting system-wide memory consumption (MemTotal - MemAvailable).
2025-10-15 21:00:08 -07:00
Santosh Bhavani
d955f945a3 Fix unified memory reporting to use MemAvailable
Use /proc/meminfo MemAvailable instead of sysinfo freeram to properly
account for reclaimable cache. Now matches free -h output accurately.
2025-10-10 21:06:29 -07:00
nvmd
62f753f51c Add device_field for memory clock
Currently, GPU clocks and GPU memory clocks have
the same same field width size in the interface,
which is presumed to be in the thousands of MHz.
However, memory clocks reported by the GPU can be
in the tens of thousands range, presumably to
account for memory features such as PAM4 (like on
the RTX 4090). This causes the GPU memory clock
field to be one byte short when 5 digit clocks
are reported, cutting the 'z' from MHz.
This commit fixes that by adding a new
device_field for the memory clock that's one char
longer than the device_field for the GPU clocks,
and makes the appropriate changes in usage and
calculations that rely on these values.
2025-09-13 01:48:27 -03:00
Ciprian Tomoiaga
86fe3a7da6 Add automatic screen redraw on tmux reconnection
Implements comprehensive terminal state handling to fix display
corruption when reconnecting to tmux sessions:

- Add SIGCONT signal handler to detect process resumption
- Add KEY_RESIZE event handling for ncurses-detected state changes
- Both events trigger complete window reinitialization
- Eliminates garbage display issues after tmux disconnect/reconnect

This matches the behavior of well-behaved terminal applications
like htop that properly handle terminal state transitions.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 21:05:20 +00:00
Ciprian Tomoiaga
aca612ddcf Add F5 and Ctrl+L screen refresh functionality
Implements keyboard shortcuts to manually refresh the display:
- F5: Refresh screen and redraw all interface elements
- Ctrl+L: Same as F5, common terminal refresh shortcut

Uses complete window reinitialization to ensure proper redraw
of all elements including window borders and frames.

Fixes #394

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 20:52:40 +00:00
mintyleaf
df62414555 add rich memory stats 2025-08-11 11:47:56 +04:00
zxu
ac29e8e9a0 Feat: add support for METAX GPU 2025-07-21 19:43:28 +08:00
Maxime Schmitt
339ee0b10a Merge pull request #393 from Steve-Tech/xe2
Fix power draw metrics on Intel Battlemage (Xe)
2025-06-28 15:30:10 +02:00
Maxime Schmitt
a48ce79234 Merge pull request #387 from larunbe/utilisation-rate-use-engine-count
Use fdinfo's engine count when refreshing utilisation rate
2025-06-28 15:24:46 +02:00
Maxime Schmitt
1589b63593 Merge pull request #385 from feilongfl/impl-rknpu
Add support for Rockchip NPU
2025-06-28 15:22:20 +02:00
Stephen Horvath
8e731910a4 Fix power draw metrics on Intel Battlemage 2025-06-18 20:39:28 +10:00
Adrián Larumbe
54e301ab5f Use fdinfo's engine count when refreshing utilisation rate
I originally moved gpuinfo_refresh_utilisation_rate() from Mali code
into src/extract_gpuinfo.c when I realised utilisation rate could be
calculated in a device-independent way simply by following the
percentage utilisation guidelines given in
Documentation/gpu/drm-usage-stats.rst

However, I forgot to replace the magic number '2' which stood for the
engine count in Mali GPUs with a value that make sense for different
devices.

Source the engine count from gpu_info's static information values.

Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
2025-05-23 02:40:06 +01:00
FeiLong
192aaaeac6 Add support for Rockchip NPU
Rockchip is a Chinese fabless semiconductor company based in Fuzhou, Fujian province.
This commit adds the load monitoring capabilities of Rockchip's NPU products to NVTOP.
2025-05-17 00:52:25 -04:00
Maxime Schmitt
7959210269 Merge pull request #373 from Quentium-Forks/feat/ppa
Replace unmaintained ppa with quentiumyt
2025-04-19 14:54:41 +02:00
Maxime Schmitt
cc690f7957 Merge pull request #375 from Syllo/runner-update
[CI] Remove retired ubuntu runner
2025-04-19 14:53:00 +02:00
Maxime Schmitt
61fbb99db6 [CI] Remove retired ubuntu runner 2025-04-19 14:49:22 +02:00