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 sensors
esta 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/remove
y, 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_percent
Uso de GPU Core en %
/sys/class/drm/card0/device/mem_busy_percent
Uso 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_sclk
es para el núcleo de la GPU
pp_dpm_mclk
es para la memoria de la GPU
El estado actual está marcado con un*
Debajo del directorio hwmon
tendrá 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.