Sou novo aqui e em scripts UNIX e Gnu/Linux, preciso de ajuda para construir um script que modifique a saída do lm-sensors.
Quando eu uso o comando sensors
esta é a saída atual
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)
Eu venho do Windows e costumava ter o HWMonitor para ver em tempo real coisas como uso e temperatura, mas é difícil conseguir essa tarefa no Linux, minha ideia de script é fazer algo que pegue as informações dos sensores e traduza uma saída amigável para algo assim:
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 %% )
Pode me ajudar? Não estou pedindo o roteiro completo, apenas algum conselho que você possa ter para um novato. Esse roteiro é possível de ser feito?
A propósito, tentei o PSensor, mas ele não mostra o módulo amdgpu e o RadeonTop não mostra temps e VRAM.
Responder1
Para GPUs AMD, você pode acessar todos esses dados como um simples usuário em/sys/class/drm/card0/device/
O que você está procurando é /sys/class/drm/card0/device/gpu_busy_percent
que pode ser diferente do card0 (dependendo de quantos GPUs você possui)
Neste diretório você terá tudo o que precisa como uso de GPU/VRAM, temperatura, tensão e assim por diante.
A maioria dos arquivos é segura para cat, mas NUNCA cat /sys/class/drm/card0/device/remove
e se você fizer isso, apenas reinicie.
Eu recomendo fortemente que você leia isto, o seguinte é apenas um resumo:
https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
Esta é uma lista de arquivos que são seguros para cat.
/sys/class/drm/card0/device/gpu_busy_percent
Uso do núcleo da GPU em%
/sys/class/drm/card0/device/mem_busy_percent
Uso do GPU Mem em%
Todos os arquivos prefixados com pp_
são legíveis, exceto pp_table
.
pp_dpm_*
estão relacionados ao núcleo da GPU e aos relógios de memória
pp_dpm_sclk
é para o núcleo da GPU
pp_dpm_mclk
é para a memória da GPU
O estado atual é marcado com um*
Sob o diretório hwmon
você terá outro diretório correspondente ao seu monitor de hardware, para mim é chamado hwmon0
, aqui estão
/sys/class/drm/card0/device/hwmon/hwmon0/fan*
Corrente do ventilador da GPU/min/máx
/sys/class/drm/card0/device/hwmon/hwmon0/in*
GPU mV e etiqueta
/sys/class/drm/card0/device/hwmon/hwmon0/power*
GPU Watt corrente/min/máx
/sys/class/drm/card0/device/hwmon/hwmon0/pwm*
Corrente GPU PWM/min/máx/
/sys/class/drm/card0/device/hwmon/hwmon0/temp*
Corrente de temperatura da GPU/min/máx