Brauche Hilfe beim Schreiben meines ersten Skripts (LM-Sensors Custom Output)

Brauche Hilfe beim Schreiben meines ersten Skripts (LM-Sensors Custom Output)

Ich bin neu hier und kenne mich mit UNIX- und GNU/Linux-Skripten aus. Ich brauche Hilfe beim Erstellen eines Skripts, das die Ausgabe von lm-sensors ändert.
Wenn ich den Befehl verwende, sensorsist dies die aktuelle Ausgabe

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)

Ich komme von Windows und hatte früher HWMonitor, um Dinge wie Nutzung und Temperaturen in Echtzeit zu sehen, aber das ist unter Linux schwer zu erledigen. Meine Skriptidee ist, etwas zu machen, das die Sensorinformationen nimmt und eine benutzerfreundliche Ausgabe in etwa so übersetzt:

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

Können Sie mir helfen? Ich frage nicht nach dem vollständigen Skript, sondern nach Ratschlägen, die Sie einem Neuling geben könnten. Ist es möglich, dieses Skript zu erstellen?

Übrigens habe ich PSensor ausprobiert, aber es zeigt das AMDGPU-Modul nicht an und RadeonTop zeigt weder Temperaturen noch VRAM an.

Antwort1

Für AMD-GPUs können Sie als einfacher Benutzer auf alle diese Daten zugreifen von/sys/class/drm/card0/device/

Was Sie suchen, ist: /sys/class/drm/card0/device/gpu_busy_percent
Es könnte sich von card0 unterscheiden (abhängig davon, wie viele GPUs Sie haben).

In diesem Verzeichnis finden Sie alles, was Sie brauchen, wie GPU-/VRAM-Nutzung, Temperatur, Spannung usw.

Die meisten Dateien können sicher mit cat verwendet werden, Sie sollten dies jedoch NIEMALS tun, /sys/class/drm/card0/device/removeund wenn Sie es tun, starten Sie einfach neu.

Ich empfehle Ihnen dringend, dies zu lesen. Das Folgende ist nur eine Zusammenfassung:
https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring

Dies ist eine Liste von Dateien, die sicher kategorisiert werden können.
/sys/class/drm/card0/device/gpu_busy_percentGPU-Kernauslastung in %
/sys/class/drm/card0/device/mem_busy_percentGPU-Speicherauslastung in %

Alle Dateien mit dem Präfix pp_sind lesbar, außer pp_table.
pp_dpm_*beziehen sich auf GPU-Kern- und Speichertakte
pp_dpm_sclkist für den GPU-Kern
pp_dpm_mclkist für den GPU-Speicher
Der aktuelle Status ist mit einem gekennzeichnet*

Unter dem Verzeichnis hwmonfinden Sie ein weiteres Verzeichnis, das Ihrem Hardwaremonitor entspricht. Bei mir heißt es hwmon0: Hier sind

/sys/class/drm/card0/device/hwmon/hwmon0/fan*GPU-Lüfterstrom/min./max.
/sys/class/drm/card0/device/hwmon/hwmon0/in*GPU mV und Bezeichnung
/sys/class/drm/card0/device/hwmon/hwmon0/power*GPU Wattstrom
/sys/class/drm/card0/device/hwmon/hwmon0/pwm*/min./max. GPU PWM-Strom/min./max.
/sys/class/drm/card0/device/hwmon/hwmon0/temp*GPU-Temperaturstrom/min./max.

verwandte Informationen