Нужна помощь в написании моего первого скрипта (LM-Sensors Custom Output)

Нужна помощь в написании моего первого скрипта (LM-Sensors Custom Output)

Я новичок здесь и в скриптах UNIX и Gnu/Linux, мне нужна помощь в создании скрипта, который изменяет вывод lm-sensors.
Когда я использую команду, sensorsэто текущий вывод

mint@desktop:~$ sensors
amdgpu-pci-0100
Adapter: PCI adapter
vddgfx:       +0.72 V
fan1:        1245 RPM  (min =    0 RPM, max = 2400 RPM)
edge:         +37.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       34.26 W  (cap = 145.00 W)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +39.0°C  (high = +85.0°C, crit = +105.0°C)
Core 0:        +36.0°C  (high = +85.0°C, crit = +105.0°C)
Core 1:        +40.0°C  (high = +85.0°C, crit = +105.0°C)
Core 2:        +35.0°C  (high = +85.0°C, crit = +105.0°C)
Core 3:        +37.0°C  (high = +85.0°C, crit = +105.0°C)

Я работаю с Windows и раньше использовал HWMonitor для просмотра в реальном времени таких данных, как использование и температура, но на Linux эту задачу реализовать сложно. Моя идея скрипта — создать что-то, что будет брать информацию с датчиков и преобразовывать понятный вывод в нечто вроде этого:

amdgpu-pci-0100
Voltage:     +0.72 V 
Fans Speed:  1248 RPM ( Percentage %% )
Temperature: +36.0°C  ( Percentage %% )
Power:       34.22 W  ( Percentage %% )
GPU Usage:   Percentage %%
VRAM Usage:  1GB / 8GB ( Percentage %% )

Можете ли вы мне помочь? Я не прошу полный сценарий, просто совет, который вы могли бы дать новичку, возможно ли сделать этот сценарий?

Кстати, я пробовал PSensor, но он не отображает модуль amdgpu, а RadeonTop не отображает температуру и видеопамять.

решение1

Для графических процессоров AMD вы можете получить доступ ко всем этим данным как простой пользователь из/sys/class/drm/card0/device/

То, что вы ищете, /sys/class/drm/card0/device/gpu_busy_percent
может отличаться от card0 (в зависимости от того, сколько у вас графических процессоров)

В этом каталоге вы найдете все необходимое: использование GPU/VRAM, температуру, напряжение и т. д.

Большинство файлов можно безопасно использовать для cat, однако НИКОГДА не используйте cat /sys/class/drm/card0/device/remove, а если вы это сделаете, просто перезагрузите компьютер.

Я настоятельно рекомендую вам прочитать это, ниже приведено лишь краткое изложение:
https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring

Это список файлов, которые можно безопасно категоризировать.
/sys/class/drm/card0/device/gpu_busy_percentИспользование ядра графического процессора в %
/sys/class/drm/card0/device/mem_busy_percentИспользование памяти графического процессора в %

Все файлы с префиксом pp_читаются, за исключением pp_table.
pp_dpm_*относятся к ядру графического процессора и тактовой частоте памяти.
pp_dpm_sclkЭто относится к ядру графического процессора,
pp_dpm_mclkэто относится к памяти графического процессора.
Текущее состояние отмечено значком*

В этом каталоге hwmonу вас будет другой каталог, соответствующий вашему аппаратному монитору, у меня он называется hwmon0, вот

/sys/class/drm/card0/device/hwmon/hwmon0/fan*Ток вентилятора ГП/мин/макс
/sys/class/drm/card0/device/hwmon/hwmon0/in*ГП мВ и метка
/sys/class/drm/card0/device/hwmon/hwmon0/power*ГП Ватт ток/мин/макс
/sys/class/drm/card0/device/hwmon/hwmon0/pwm*ГП ШИМ ток/мин/макс/
/sys/class/drm/card0/device/hwmon/hwmon0/temp*Температура ГП ток/мин/макс

Связанный контент