Necesito ayuda para escribir mi primer script (Salida personalizada de LM-Sensors)

Necesito ayuda para escribir mi primer script (Salida personalizada de LM-Sensors)

Soy nuevo aquí y en los scripts de UNIX y Gnu/Linux, necesito ayuda para crear un script que modifique la salida de lm-sensors.
Cuando uso el comando sensorsesta es la salida actual

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)

Vengo de Windows y solía tener HWMonitor para ver cosas en tiempo real como el uso y las temperaturas, pero es difícil realizar esta tarea en Linux. Mi idea de script es crear algo que tome la información de los sensores y traduzca una salida amigable a algo como esto:

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 %% )

¿Me puedes ayudar? No estoy pidiendo el guión completo, solo cualquier consejo que puedas tener para un novato, ¿es posible crear este guión?

Por cierto, probé PSensor pero no muestra el módulo amdgpu y RadeonTop no muestra temperaturas ni VRAM.

Respuesta1

Para GPU AMD, puede acceder a todos estos datos como un simple usuario desde/sys/class/drm/card0/device/

Lo que estás buscando es /sys/class/drm/card0/device/gpu_busy_percent
que pueda ser diferente de card0 (dependiendo de cuántos gpus tengas)

En este directorio tendrá todo lo que necesita como uso de GPU/VRAM, temperatura, tensión, etc.

La mayoría de los archivos son seguros para cat, pero NUNCA cat /sys/class/drm/card0/device/removey, si lo hace, simplemente reinicie.

Le recomiendo encarecidamente que lea esto, lo siguiente es sólo un resumen:
https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring

Esta es una lista de archivos que son seguros para cat.
/sys/class/drm/card0/device/gpu_busy_percentUso de GPU Core en %
/sys/class/drm/card0/device/mem_busy_percentUso de GPU Mem en %

Todos los archivos con el prefijo pp_son legibles excepto pp_table.
pp_dpm_*están relacionados con el núcleo de la GPU y los relojes de memoria
pp_dpm_sclkes para el núcleo de la GPU
pp_dpm_mclkes para la memoria de la GPU
El estado actual está marcado con un*

Debajo del directorio hwmontendrá otro directorio correspondiente a su monitor de hardware, para mí se llama hwmon0, aquí está

/sys/class/drm/card0/device/hwmon/hwmon0/fan*Corriente del ventilador de la GPU/mín./máx.
/sys/class/drm/card0/device/hwmon/hwmon0/in*mV de la GPU y etiqueta
/sys/class/drm/card0/device/hwmon/hwmon0/power*Vatios de la GPU
/sys/class/drm/card0/device/hwmon/hwmon0/pwm*corriente/mín./máx. Corriente del PWM de la GPU/mín./máx./Temp.
/sys/class/drm/card0/device/hwmon/hwmon0/temp*de la GPU corriente/mín./máx.

información relacionada