«Чрезмерное настроение» Gui Java Frontend для nvidia-smi для тех (как и я), которые не могут установить nvtop NVIDIA (например, с ошибкой nvtop : Depends: libnvidia-compute-418 but it is not going to be installed ).

Он вызовет процесс nvidia-smi , используя параметры --query-gpu=... и --loop-ms=... для разбора его съемки на более приятные, настраиваемые графики.
Он настраивается через файл nvtop.properties для появления графиков и специфических для карты запросов графических процессоров на графики (до 2 запросов на график: один левый и один справа).
Релиз содержит запускающуюся JAR, совместимую с Java 14 и выше. Обратите внимание, что сам код составляет всего 5 файлов и не использует причудливые функции выше Java 8, так что его можно легко перекомпилировать для Java 8.
Файл nvtop.properties содержит всю конфигурацию.
| Свойство | Описание |
|---|---|
graph.duration | Общее время графика, в считанные секунды, от справа (самые последние меры) слева (самые старые меры). |
graph.refresh | Запустите меру каждое количество миллисекунды. |
graph.ticks.time | Если> 0, отображайте тики временной метки на графике. |
graph.ticks.time.format | Формат времени для отображения временной метки. Это следует за форматом Java SimpleDateFormat .Например HH:mm:ss для отображения 14:33:31 или HH:mma для отображения 2:33PM . |
graph.ticks.majors | Количество основных подразделений по оси Y (например, 5 будет делиться на 5 секций, по 20% каждый).Линии будут простыми. |
graph.ticks.minors | Количество незначительных подразделений на оси Y. Должно быть больше, чем майоры (например, 10 будет делиться на 10 секций, по 10% каждый).Линии будут пунктирными. |
graph.background.panel | Фоновый цвет всех графиков на внешней области (в основном фон окна). |
graph.title.font | Шрифт для всех названий графиков, согласно формату Java Font.decode() . |
graph.grid | Все графики расположены на сетке с таким количеством рядов и столбцов. Формат - <rows>,<columns> (например, 3,2 для отображения 3 строк и 2 столбца). |
| Свойство | Описание |
|---|---|
graph.ticks.color | По умолчанию тик -линии цвета, согласно формату java Color.decode() .Например, #ff0000 - чистый красный. |
graph.background | Фоновый цвет для области графика. |
Графические панели определяются серией graph.<n>.xxx свойства.
| Свойство | Описание |
|---|---|
graph.<n>.title | Название графика отображается сверху. |
graph.<n>.background | Фоновый цвет для области графика. Переопределяет свойство по умолчанию. Свойство graph.background . |
graph.<n>.ticks.color | Тик -линии цвет. Переопределяет свойство по умолчанию graph.ticks.color . |
Графические панели могут отображать два графика: слева и справа, которые настроены через graph.<n>.<left|right>.xxx Панель не нужно указывать как left , так и right (далее называется pos ), но, по крайней мере, один (очевидно).
| Свойство | Описание |
|---|---|
graph.<n>.<pos>.query | Запрос графического процессора на график (см. «Запросы GPU» ниже). |
graph.<n>.<pos>.title | Название серии. |
graph.<n>.<pos>.min | Минимальное значение для серии. |
graph.<n>.<pos>.max | Максимальное значение для серии. |
graph.<n>.<pos>.unit | Единица для значения. |
graph.<n>.<pos>.color | Цвет используется для рисования серии. |
Таким образом, вы можете настроить либо темную тему (как указано выше), либо легкой:

Если в рабочем каталоге нет файла nvtop.properties , по умолчанию будет создан один график, показывающий графический процессор и использование памяти в течение 1 минуты, обновляя каждую секунду:

graph.refresh=1000
graph.duration=60
graph.1.title=System
graph.1.left.title=GPU
graph.1.left.query=utilization.gpu
graph.1.left.min=0
graph.1.left.max=100
graph.1.left.unit=%
graph.1.right.title=RAM
graph.1.right.query=memory.used
graph.1.right.min=0
graph.1.right.max=8192
graph.1.right.unit=MiB
Во-первых, запустите следующую командную строку, чтобы получить список доступных запросов для вашей системы (примечание для пользователей Windows, вам может потребоваться добавить каталог nvidia-smi.exe в Windows %PATH% :
nvidia-smi --help-query-gpu
Это покажет вам список поддерживаемых запросов, которые вы можете попробовать на графике. Nb, что не все из них фактически возвращают значения, это зависит от драйверов Nvidia, поэтому лучше проверить вывод, чтобы убедиться, что у вас нет никаких значений N/A чтобы вы знали, какой запрос будет работать, а какой нет:
$ nvidia-smi --format=csv,noheader,nounits --loop-ms=1000 --query-gpu=timestamp,utilization.gpu,utilization.memory,memory.used,fan.speed
2021/09/06 15:31:25.590, 82, 14, 2890, [N/A]
2021/09/06 15:31:26.591, 64, 24, 2890, [N/A]
2021/09/06 15:31:27.592, 71, 24, 2890, [N/A]
(Здесь fan.speed не используется).