Scripting

需要幫助編寫我的第一個腳本(LM-Sensors 自定義輸出)

  • April 19, 2020

我是 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 沒有顯示溫度和 VRAM。

對於 AMD gpus,您可以作為簡單使用者從/sys/class/drm/card0/device/

您正在尋找的是/sys/class/drm/card0/device/gpu_busy_percent

它可能與 card0 不同(取決於您擁有多少 gpus)

在此目錄中,您將擁有所需的一切,如 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

這是對 cat 安全的文件列表。

/sys/class/drm/card0/device/gpu_busy_percentGPU 核心使用百分比

/sys/class/drm/card0/device/mem_busy_percentGPU 記憶體使用百分比

所有前綴為 的文件pp_都是可讀的,除了pp_table.

pp_dpm_*與 GPU 核心和記憶體時鐘有關,

pp_dpm_sclk用於 GPU 核心

pp_dpm_mclk,用於 GPU 記憶體

目前狀態標記為*

在該目錄下,hwmon您將有另一個與您的硬體監視器相對應的目錄,它被命名為hwmon0,這裡是

/sys/class/drm/card0/device/hwmon/hwmon0/fan*GPU 風扇電流/最小值/最大值

/sys/class/drm/card0/device/hwmon/hwmon0/in*GPU mV 和標籤

/sys/class/drm/card0/device/hwmon/hwmon0/power*GPU 瓦特電流/最小值/最大值

/sys/class/drm/card0/device/hwmon/hwmon0/pwm*GPU PWM 電流/最小值/最大值/

/sys/class/drm/card0/device/hwmon/hwmon0/temp*GPU 溫度電流/最小值/最大值

引用自:https://unix.stackexchange.com/questions/577508