需要幫助編寫我的第一個腳本(LM-Sensors 自定義輸出)
我是 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_percent
GPU 核心使用百分比
/sys/class/drm/card0/device/mem_busy_percent
GPU 記憶體使用百分比所有前綴為 的文件
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 溫度電流/最小值/最大值