Я новичок здесь и в скриптах 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*
Температура ГП ток/мин/макс