Я наблюдаю за некоторыми машинами с несколькими графическими процессорами и хочу построить комбинированный график использования ЦП/ГП с положительным значением ГП и отрицательным значением ЦП.
Я могу создать такой график просто отлично для одного GPU против 100 - (процессор.idle/#ядра)
, но возникают проблемы при попытке использовать средние значения использования графического процессора, рассчитанные с использованием сумма
и cdef
.
Ниже приведены четыре ситуации, иллюстрирующие проблемы для машины с двумя графическими процессорами. Конфигурация и вывод показаны ниже краткого описания:
- Базовый уровень. Я могу без проблем отображать значения ЦП и отдельных графических процессоров.
# Без проблем показывает отдельные значения
test0.graph_title Тест 0: базовые значения
test0.graph_args --base 1000 -l -100 -u 100 -r
test0.graph_vlabel ЦП/ГП
система test0.graph_category
test0.graph_order \
процессор=multigpu.example.com:cpu.idle \
gpu1=multigpu.example.com:nvidia_gpu_utilization.utilization0 \
gpu2=multigpu.example.com:nvidia_gpu_utilization.utilization1
test0.cpu.cdef 100,процессор,48,/,-
- Я также могу без проблем создать предполагаемый график «положительный-процессор-отрицательный» для использования отдельного графического процессора в сочетании с
cdef
'd значение ЦП
# Правильно показывает значения GPU0 как положительные, значения CPU как отрицательные
test1.graph_title Тест 1: прямой
test1.graph_args --base 1000 -l -100 -u 100 -r
test1.graph_vlabel ЦП/ГП
система test1.graph_category
test1.graph_order \
процессор=multigpu.example.com:cpu.idle \
gpu1=multigpu.example.com:nvidia_gpu_utilization.utilization0
test1.cpu.cdef 100,процессор,48,/,-
test1.cpu.graph нет
test1.gpu1.отрицательный процессор
- Если я просто нанесу ЦП и среднее значение двух графических процессоров на один и тот же график, значения ЦП перестанут быть правильными, но, похоже, будут суммой среднего значения ГП и ЦП? Без понятия, что здесь происходит...
# Значения ЦП здесь отображаются некорректно
test2.graph_title Тест 2: среднее
test2.graph_args --base 1000 -l -100 -u 100 -r
test2.graph_vlabel ЦП/ГП
система test2.graph_category
test2.graph_order \
процессор=multigpu.example.com:cpu.idle \
графический процессор
test2.cpu.cdef 100,процессор,48,/,-
test2.gpu.label среднее значение GPU
test2.gpu.sum \
multigpu.example.com:nvidia_gpu_utilization.utilization0 \
multigpu.example.com:nvidia_gpu_utilization.utilization1
test2.gpu.cdef gpu,2,/
- Если я попытаюсь объединить их в положительную/отрицательную диаграмму, ошибки рендеринга с
Недопустимое vname ccpu
в munin-graph.log (где «cpu» — имя моей переменной)
test3.graph_title Тест 3: вверх/вниз
test3.graph_args --base 1000 -l -100 -u 100 -r
test3.graph_vlabel ЦП/ГП
система test3.graph_category
test3.graph_order \
процессор=multigpu.example.com:cpu.idle \
графический процессор
test3.cpu.cdef 100,процессор,48,/,-
test3.gpu.label среднее значение GPU
test3.gpu.sum \
multigpu.example.com:nvidia_gpu_utilization.utilization0 \
multigpu.example.com:nvidia_gpu_utilization.utilization1
test3.gpu.cdef gpu,2,/
test3.cpu.graph нет
test3.gpu.отрицательный процессор
munin-graph.log:
25.06.2021 16:21:28 [ОШИБКА RRD] Невозможно построить график test3-day.png : Недопустимое vname: ccdefcpu в строке GPRINT:ccdefcpu:LAST:%6.2lf%s/\g
25.06.2021 16:21:28 [ОШИБКА RRD] rrdtool 'graph' 'test3-day.png' \
'--заглавие' \
'Тест 3: вверх/вниз - по дням' \
'--Начало' \
'-2000м' \
'--база' \
'1000' \
'-л' \
'-100' \
'-у' \
'100' \
'-р' \
'--вертикальная метка' \
'ЦП/ГП' \
'--режим наклона' \
'--рост' \
'175' \
'--ширина' \
'400' \
'--imgformat' \
'ПНГ' \
'--ленивый' \
'--шрифт' \
'ПО УМОЛЧАНИЮ: 0:DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans' \
'--шрифт' \
'ЛЕГЕНДА: 7: DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace' \
'--цвет' \
'НАЗАД#F0F0F0' \
'--цвет' \
'КАДР#F0F0F0' \
'--цвет' \
'ХОЛСТ#FFFFFF' \
'--цвет' \
'ШРИФТ#666666' \
'--цвет' \
'ОСЬ#CFD6F8' \
'--цвет' \
'СТРЕЛКА#CFD6F8' \
'--граница' \
'0' \
'-W' \
'Мунин 2.0.66' \
'DEF:acpu=/var/lib/munin/multigpu.example.com-cpu-idle-d.rrd:42:MAX' \
'DEF:icpu=/var/lib/munin/multigpu.example.com-cpu-idle-d.rrd:42:MIN' \
'DEF:gcpu=/var/lib/munin/multigpu.example.com-cpu-idle-d.rrd:42:AVERAGE' \
'DEF:az2_1=/var/lib/munin/multigpu.example.com-nvidia_gpu_utilization-utilization1-g.rrd:42:MAX' \
'DEF:iz2_1=/var/lib/munin/multigpu.example.com-nvidia_gpu_utilization-utilization1-g.rrd:42:MIN' \
'DEF:gz2_1=/var/lib/munin/multigpu.example.com-nvidia_gpu_utilization-utilization1-g.rrd:42:СРЕДНЕЕ' \
'DEF:az2_0=/var/lib/munin/multigpu.example.com-nvidia_gpu_utilization-utilization0-g.rrd:42:MAX' \
'DEF:iz2_0=/var/lib/munin/multigpu.example.com-nvidia_gpu_utilization-utilization0-g.rrd:42:MIN' \
'DEF:gz2_0=/var/lib/munin/multigpu.example.com-nvidia_gpu_utilization-utilization0-g.rrd:42:СРЕДНЕЕ' \
'CDEF:acdefz2_0=az2_0,UN,0,az2_0,IF' \
'CDEF:icdefz2_0=iz2_0,UN,0,iz2_0,IF' \
'CDEF:gcdefz2_0=gz2_0,UN,0,gz2_0,IF' \
'CDEF:ccdefz2_0=gcdefz2_0' \
'CDEF:acdefz2_1=az2_1,UN,0,az2_1,IF,acdefz2_0,ADDNAN,2,/' \
'CDEF:icdefz2_1=iz2_1,UN,0,iz2_1,IF,icdefz2_0,ADDNAN,2,/' \
'CDEF:gcdefz2_1=gz2_1,UN,0,gz2_1,IF,gcdefz2_0,ADDNAN,2,/' \
'CDEF:ccdefz2_1=gcdefz2_1' \
'КОММЕНТАРИЙ:' \
'КОММЕНТАРИЙ:Cur (-/+)' \
'КОММЕНТАРИЙ: Мин (-/+)' \
'КОММЕНТАРИЙ:Среднее (-/+)' \
'КОММЕНТАРИЙ:Макс. (-/+) \j' \
'LINE1:gcdefz2_1#00CC00:значение GPU' \
'GPRINT:ccdefcpu:ПОСЛЕДНИЙ:%6.2lf%s/\g' \
'GPRINT:ccdefz2_1:ПОСЛЕДНИЙ:%6.2lf%s' \
'GPRINT:icdefcpu:MIN:%6.2lf%s/\g' \
'GPRINT:icdefz2_1:МИН:%6.2lf%s' \
'GPRINT:gcdefcpu:СРЕДНЕЕ:%6.2lf%s/\g' \
'GPRINT:gcdefz2_1:СРЕДНЕЕ:%6.2lf%s' \
'GPRINT:acdefcpu:MAX:%6.2lf%s/\g' \
'GPRINT:acdefz2_1:MAX:%6.2lf%s\j' \
'CDEF:acdefcpu=100,acpu,48,/,-' \
'CDEF:icdefcpu=100,icpu,48,/,-' \
'CDEF:gcdefcpu=100,gcpu,48,/,-' \
'CDEF:ccdefcpu=gcdefcpu' \
'CDEF:re_zero=gcdefcpu,UN,0,0,IF' \
'CDEF:ngcdefcpu=gcdefcpu,-1,*' \
'LINE1:ngcdefcpu#00CC00' \
'LINE1:re_zero#000000' \
'ВРУЛЕ:1624630818#999999' \
'КОММЕНТАРИЙ:Последнее обновление\: Пт, 25 июня 16\:20\:18 2021\r' \
'--конец' \
'1624630500'
25.06.2021 16:21:28 [ОШИБКА RRD] Невозможно построить график test3-week.png : Недопустимое vname: ccpu в строке GPRINT:ccpu:LAST:%6.2lf%s/\g
[... повторяющиеся детали для краткости опущены...]
25.06.2021, 16:21:28 [ОШИБКА RRD] Невозможно построить график test3-month.png : Недопустимое vname: ccdefcpu в строке GPRINT:ccdefcpu:LAST:%6.2lf%s/\g
[...]