Статьи

Можно ли определить тип памяти видеокарты Nvidia в Linux?

При настройке майнинг ригов желательно знать особенности памяти, установленной на видеокарте.

Это поможет более осознанно подобрать частоты ее работы, сориентироваться по возможностям твикинга и прочим нюансам, которые помогут достигнуть максимальной производительности при минимальном потреблении, сохраняя высокую надежность работы. Это возможно благодаря установке частоты работы памяти немного ниже максимально возможных пределов. Эти значения можно подобрать и экспериментальным путем методом проб и ошибок, но обычно этот увлекательный процесс занимает довольно продолжительное время, что не всегда удобно.

Зная исходные данные (производителя памяти), можно в качестве исходной точки для опытов по разгону взять частоту, на которой обычно работают чипы памяти определенного производителя. Например, достаточно хорошую заслужили микросхемы памяти, производимые фирмой Samsung. Они, как правило, хорошо разгоняются и работают на пониженном напряжении. Отличную память обычно выпускает и компания Micron. Значительно хуже качество памяти, выпускаемой Hynix, Elpida и дргуих производителей.

В Windows для определения типа видеопамяти можно использовать универсальные утилиты типа GPU-Z, GPU_Caps_Viewer, либо nvidia inspector для видеокарт Nvidia.

При нажатии на кнопку More GPU info в программе GPU Caps Viewer

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

В Linux для определения типа памяти видеокарт Amd можно задействовать утилиту amdmeminfo, а что можно применить для определения VRAM GPU Nvidia? Можно, конечно загрузиться в Windows с USB-флешки, запустить там утилиту GPU-Z или GPU CapsViewer, но такой способ не дает никакого эстетического удовольствия своей костыльностью и грубостью.

Как узнать тип видеопамяти графического адаптера Nvidia в операционной системе на ядре Linux?

В арсенале linux имеется ряд волшебных команд dmidecode, позволяющих узнать массу полезной информации о железе, трудящемся на благо пользователей в компьютере. К ним относятся nvidia-smi, lspci, /proc/driver/nvidia/gpu/…, lshw, glxinfo, dmidecode и другие.

Вывод информации о видеокартах по команде nvidia-smi:

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 460.91.03 Driver Version: 460.91.03 CUDA Version: 11.2 |

|-------------------------------+----------------------+----------------------+

| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |

| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |

| | | MIG M. |

|===============================+======================+======================|

| 0 GeForce GTX 107... On | 00000000:01:00.0 Off | N/A |

| 55% 43C P2 90W / 90W | 2170MiB / 8117MiB | 99% Default |

| | | N/A |

+-------------------------------+----------------------+----------------------+

| 1 GeForce GTX 1070 On | 00000000:02:00.0 Off | N/A |

| 55% 45C P2 92W / 90W | 2150MiB / 8119MiB | 100% Default |

| | | N/A |

+-------------------------------+----------------------+----------------------+

| 2 GeForce GTX 1070 On | 00000000:04:00.0 Off | N/A |

| 55% 44C P2 90W / 90W | 2150MiB / 8119MiB | 100% Default |

| | | N/A |

+-------------------------------+----------------------+----------------------+

| 3 GeForce GTX 1070 On | 00000000:07:00.0 Off | N/A |

|100% 46C P2 89W / 90W | 2150MiB / 8119MiB | 99% Default |

| | | N/A |

+-------------------------------+----------------------+----------------------+

| 4 GeForce GTX 106... On | 00000000:42:00.0 Off | N/A |

| 75% 59C P2 83W / 83W | 2130MiB / 6078MiB | 100% Default |

| | | N/A |

+-------------------------------+----------------------+----------------------+




+-----------------------------------------------------------------------------+

| Processes: |

| GPU GI CI PID Type Process name GPU Memory |

| ID ID Usage |

|=============================================================================|

| 0 N/A N/A 618 G /usr/lib/xorg/Xorg 16MiB |

| 0 N/A N/A 2029 C ./nbminer 2149MiB |

| 1 N/A N/A 618 G /usr/lib/xorg/Xorg 14MiB |

| 1 N/A N/A 2029 C ./nbminer 2131MiB |

| 2 N/A N/A 618 G /usr/lib/xorg/Xorg 14MiB |

| 2 N/A N/A 2029 C ./nbminer 2131MiB |

| 3 N/A N/A 618 G /usr/lib/xorg/Xorg 14MiB |

| 3 N/A N/A 2029 C ./nbminer 2131MiB |

| 4 N/A N/A 618 G /usr/lib/xorg/Xorg 14MiB |

| 4 N/A N/A 2029 C ./nbminer 2111MiB |

+-----------------------------------------------------------------------------+

По команде

sudo update-pciids && lspci | grep -E "VGA|3D"

видно только данные о чипе видоекарты и ее ревизии:

01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070 Ti] (rev a1)

02:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)

04:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)

07:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)

42:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)

Команда

sudo lspci -v -s 01:00.0

где 01:00.0 — номер pci-e исследуемого устройства

дает возможность полюбоваться на более полную информацию о видеоадаптере, включая возможную адресацию памяти:

01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070 Ti] (rev a1) (prog-if 00 [VGA controller])

Subsystem: ASUSTeK Computer Inc. GP104 [GeForce GTX 1070 Ti]

Flags: bus master, fast devsel, latency 0, IRQ 141

Memory at ec000000 (32-bit, non-prefetchable) [size=16M]

Memory at c0000000 (64-bit, prefetchable) [size=256M]

Memory at d0000000 (64-bit, prefetchable) [size=32M]

I/O ports at e000 [size=128]

[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]

Capabilities: [60] Power Management version 3

Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+

Capabilities: [78] Express Legacy Endpoint, MSI 00

Capabilities: [100] Virtual Channel

Capabilities: [250] Latency Tolerance Reporting

Capabilities: [128] Power Budgeting <?>

Capabilities: [420] Advanced Error Reporting

Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>

Capabilities: [900] #19

Kernel driver in use: nvidia

Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

Команда

sudo lshw -c video

показывает информацию о видеоадаптере с несколько иного ракурса:

*-display

description: VGA compatible controller

product: GP104 [GeForce GTX 1070 Ti]

vendor: NVIDIA Corporation

physical id: 0

bus info: pci@0000:01:00.0

version: a1

width: 64 bits

clock: 33MHz

capabilities: pm msi pciexpress vga_controller bus_master cap_list rom

configuration: driver=nvidia latency=0

resources: irq:141 memory:ec000000-ecffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:c0000-dffff

Если в терминале ввести команду

sudo dmidecode -d /dev/nvidia

то в консоли появится информация, включающая данные о материнской плате, процессоре, оперативной памяти, а также PCIE устройствах, коими являются и видеокарты.

Пример информации, отображаемой о видеокарте по команде dmidecode -d /dev/nvidia:

Handle 0x0009, DMI type 9, 17 bytes

System Slot Information

Designation: PCIE6

Type: x1 PCI Express

Current Usage: In Use

Length: Short

ID: 22

Characteristics:

3.3 V is provided

Opening is shared

PME signal is supported

Bus Address: 0000:06:00.0

Утилита mesa, которую можно установить командой

sudo apt install mesa-utils

по команде (выполняется в консоли системы с работающим графическим окружением)

glxinfo -b

выдает информацию с упором на драйвера.

Команда

glxinfo | egrep -i 'device|memory'

отображает массу информации о VRAM, но без упоминания о ее производителе (пример для Nvidia GTX1080):

Memory info (GL_NVX_gpu_memory_info):

Dedicated video memory: 8192 MB

Total available memory: 8192 MB

Currently available dedicated video memory: 5943 MB

GL_EXT_import_sync_object, GL_EXT_memory_object, GL_EXT_memory_object_fd,

GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,

GL_NV_memory_attachment, GL_NV_memory_object_sparse,

GL_NV_register_combiners2, GL_NV_robustness_video_memory_purge,

GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory,

GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program,

GL_EXT_import_sync_object, GL_EXT_memory_object, GL_EXT_memory_object_fd,

GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,

GL_NV_memory_attachment, GL_NV_memory_object_sparse,

GL_NV_register_combiners2, GL_NV_robustness_video_memory_purge,

GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory,

GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program,

GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_multi_draw_indirect,

GL_NV_internalformat_sample_query, GL_NV_memory_attachment,

GL_NV_memory_object_sparse, GL_NV_non_square_matrices,

GLX_NV_multigpu_context, GLX_NV_robustness_video_memory_purge,

GLX_NV_robustness_video_memory_purge, GLX_NV_swap_group,

GLX_NV_multigpu_context, GLX_NV_robustness_video_memory_purge,

Программа hardinfo, работающая в графическом окружении (устанавливается командой sudo apt install hardinfo), также не блещет полнотой информации о видеопамяти. На вкладе PCI-устройств можно увидеть название видеокарты, модули ядра, доступный объем видеопамяти, но опять отсутствует информация о производителе.

Заключение

Кроме перечисленных команд и программ для сбора информации о видеоадаптерах в Linux можно использовать и другие утилиты, например, CUDA-Z, InfoPanel, sysinfo, Open Hardware Monitor, Speccy и другие.

К сожалению, информации о VRAM видеокарт Nvidia в Linux, используя все перечисленные команды и утилиты, увидеть не получится. Это связано с тем, что nvidia не предусмотрела команд вызова информации (API) о Ram Vendor в Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

English English Русский Русский