Announcement

Collapse
No announcement yet.

Linux 5.15 Hardware Monitoring Is Big But Overdue For AMD

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Melcar
    replied
    Originally posted by kiffmet View Post
    Melcar this script is the best I could come up with; it doesn't need root privileges. just copy the code into a .sh file and make it executable. you may want to edit the script (entries in "drives" and "nvme") to match your configuration:
    Code:
    [FONT=monospace][COLOR=#000000]#!/bin/bash [/COLOR]
    #License: libre, no copyright, no copyleft, use at your own risk
    drives=("sda" "sdb" "sdc" "sdd")
    nvme=("nvme0n1")
    for bdev in "${drives[@]}"
    do
    printf "Block device: %s\n" "/dev/$bdev"
    echo "Major_Minor: /sys/dev/block/$(</sys/block/$bdev/dev)"
    echo "Device model: $(</sys/block/$bdev/device/model)"
    
    temp="$(cat /sys/block/$bdev/device/hwmon/hwmon*/temp*_input)"
    temp=$(echo "$temp/1000" | bc)
    printf "Temperature: %s°C\n\n" "$temp"
    unset temp
    done
    
    unset bdev
    
    for bdev in "${nvme[@]}"
    do
    printf "Block device: %s\n" "/dev/$bdev"
    echo "Major_Minor: /sys/dev/block/$(</sys/block/$bdev/dev)"
    echo "Device model: $(</sys/block/$bdev/device/model)"
    
    temp="$(cat /sys/block/$bdev/device/hwmon*/temp*_input)"
    temp=$(echo "$temp/1000" | bc)
    printf "Temperature: %s°C\n\n" "$temp"
    unset temp
    done[/FONT]
    Truncated sample output for my PC:
    Code:
    [FONT=monospace][COLOR=#5454ff][B]user[/B][/COLOR][COLOR=#000000]@box [/COLOR][COLOR=#000000][B]~ [/B][/COLOR][COLOR=#000000]% ./drivetemps.sh [/COLOR]
    Block device: /dev/sda
    Major_Minor: /sys/dev/block/8:0
    Device model: Samsung SSD 840
    Temperature: 30°C
    
    (...)
    
    Block device: /dev/nvme0n1
    Major_Minor: /sys/dev/block/259:0
    Device model: ADATA SX8200PNP
    Temperature: 41°C[/FONT]
    I hope it helps, cheers.
    Thanks, will try it latter after work.

    Leave a comment:


  • kiffmet
    replied
    Melcar this script is the best I could come up with; it doesn't need root privileges. just copy the code into a .sh file and make it executable. you may want to edit the script (entries in "drives" and "nvme") to match your configuration:
    Code:
    [FONT=monospace][COLOR=#000000]#!/bin/bash [/COLOR]
    #License: libre, no copyright, no copyleft, use at your own risk
    drives=("sda" "sdb" "sdc" "sdd")
    nvme=("nvme0n1")
    for bdev in "${drives[@]}"
           do
                   printf "Block device:     %s\n" "/dev/$bdev"
                   echo "Major_Minor:      /sys/dev/block/$(</sys/block/$bdev/dev)"
                   echo "Device model:     $(</sys/block/$bdev/device/model)"
    
                   temp="$(cat /sys/block/$bdev/device/hwmon/hwmon*/temp*_input)"
                   temp=$(echo "$temp/1000" | bc)
                   printf "Temperature:      %s°C\n\n" "$temp"
                   unset temp
           done
    
    unset bdev
    
    for bdev in "${nvme[@]}"
           do
                   printf "Block device:     %s\n" "/dev/$bdev"
                   echo "Major_Minor:      /sys/dev/block/$(</sys/block/$bdev/dev)"
                   echo "Device model:     $(</sys/block/$bdev/device/model)"
    
                   temp="$(cat /sys/block/$bdev/device/hwmon*/temp*_input)"
                   temp=$(echo "$temp/1000" | bc)
                   printf "Temperature:      %s°C\n\n" "$temp"
                   unset temp
           done[/FONT]
    Truncated sample output for my PC:
    Code:
    [FONT=monospace][COLOR=#5454ff][B]user[/B][/COLOR][COLOR=#000000]@box [/COLOR][COLOR=#000000][B]~ [/B][/COLOR][COLOR=#000000]% ./drivetemps.sh  [/COLOR]
    Block device:     /dev/sda
    Major_Minor:      /sys/dev/block/8:0
    Device model:     Samsung SSD 840  
    Temperature:      30°C
    
    (...)
    
    Block device:     /dev/nvme0n1
    Major_Minor:      /sys/dev/block/259:0
    Device model:     ADATA SX8200PNP                          
    Temperature:      41°C[/FONT]
    I hope it helps, cheers.

    Leave a comment:


  • Melcar
    replied
    Originally posted by kiffmet View Post
    Melcar you can use
    Code:
    smartctl
    to read out the drive temperatures or load the
    Code:
    drivetemp
    kernel module to have them show up when running
    Code:
    sensors
    and to have them get their own hwmon nodes.
    I'm already using drive-temp along with sensors. The thing is that drive-temp uses scsi tags, and unless you dig in a bit more and figure out which is which (is you have more than one disk) it can be confusing, especially for someone not familiar with these stuff.
    Also, the sensors output respects no sensible order. It comes out as a jumbled mess, sort off. While it does group individual sensors into one, if you are reading from various sensors, it displays them in no particular order. I guess it's just the OCD in me talking, but a "easy" way to configure the output would be welcomed.

    Code:
    [FONT=monospace][COLOR=#000000]drivetemp-scsi-3-0 [/COLOR]
    Adapter: SCSI adapter
    temp1:        +41.0°C  (low  = +14.0°C, high = +55.0°C)     
                          (crit low = +10.0°C, crit = +60.0°C)
                          (lowest = +31.0°C, highest = +41.0°C)
    
    it8792-isa-0a60
    Adapter: ISA adapter
    DDR Vtt A/B:   610.00 mV (min =  +0.55 V, max =  +0.80 V)
    Chipset Core:    1.05 V  (min =  +0.99 V, max =  +1.10 V)
    CPU Vdd18:       1.80 V  (min =  +1.74 V, max =  +1.85 V)
    DDR Vpp A/B:     2.50 V  (min =  +2.38 V, max =  +2.63 V)
    3VSB:            3.44 V  (min =  +3.21 V, max =  +3.40 V)  ALARM
    Vbat:            3.25 V
    SYS5 fan/pump:    0 RPM  (min =    0 RPM)
    SYS6 fan/pump:    0 RPM  (min =    0 RPM)
    SYS4 fan:         0 RPM  (min =    0 RPM)
    PCIe X8:        +43.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    EC_temp 2:      -55.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    System 2:       +43.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    
    amdgpu-pci-0800
    Adapter: PCI adapter
    vddgfx:      931.00 mV
    fan1:         562 RPM  (min =    0 RPM, max = 3200 RPM)
    edge:         +42.0°C  (crit = +94.0°C, hyst = -273.1°C)
    power1:       15.22 W  (cap = 225.00 W)
    
    nvme-pci-0100
    Adapter: PCI adapter
    Composite:    +38.9°C  (low  =  -0.1°C, high = +74.8°C)
                          (crit = +79.8°C)
    
    k10temp-pci-00c3
    Adapter: PCI adapter
    Tctl:         +49.5°C
    Tdie:         +49.5°C
    
    drivetemp-scsi-2-0
    Adapter: SCSI adapter
    temp1:        +40.0°C  (lowest = +28.0°C, highest = +40.0°C)
    
    it8686-isa-0a40
    Adapter: ISA adapter
    CPU Vcore:     1.28 V  (min =  +0.35 V, max =  +1.45 V)
    +3.3V:         3.33 V  (min =  +3.21 V, max =  +3.41 V)
    +12V:         12.24 V  (min = +11.66 V, max = +12.38 V)
    +5V:           4.95 V  (min =  +4.86 V, max =  +5.16 V)
    Vcore SOC:   888.00 mV (min =  +0.90 V, max =  +1.26 V)
    CPU Vddp:    936.00 mV (min =  +0.85 V, max =  +0.95 V)
    DRAM A/B:      1.27 V  (min =  +1.10 V, max =  +1.60 V)
    CPU fan:      704 RPM  (min =    0 RPM)
    SYS1 fan:       0 RPM  (min =    0 RPM)
    SYS2 fan:     750 RPM  (min =    0 RPM)
    SYS3 fan:     700 RPM  (min =    0 RPM)
    CPUOPT fan:   701 RPM  (min =    0 RPM)
    System 1:     +42.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    Chipset:      +49.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    CPU:          +59.0°C  (low  = +137.0°C, high = +137.0°C)  sensor = AMD AMDSI
    PCIe X16:     +44.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    VRM MOS:      +52.0°C  (low  =  +0.0°C, high = -117.0°C)  sensor = thermistor
    EC_temp 1:    -55.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
    
    nvme-pci-0700
    Adapter: PCI adapter
    Composite:    +40.9°C  (low  =  -0.1°C, high = +117.8°C)
                          (crit = +149.8°C)[/FONT]
    I can use something like psensors or gkrellm that lets me do what I want, but sometimes one just wants a nice simple terminal.

    Leave a comment:


  • kiffmet
    replied
    Melcar you can use
    Code:
    smartctl
    to read out the drive temperatures or load the
    Code:
    drivetemp
    kernel module to have them show up when running
    Code:
    sensors
    and to have them get their own hwmon nodes.

    Leave a comment:


  • Melcar
    replied
    So no love for Zen1 .
    Is there an "easy" way to configure the output you get from the HWMON driver? It's hard to identify components like drives (SATA and NVME) if you have multiple in our system.

    Leave a comment:


  • uid313
    replied
    Originally posted by pal666 View Post
    your money go into bribes instead of into fast hardware
    I don't know, maybe.
    But if my choice is Intel or AMD, then Intel does have higher better support on Linux with open source drivers merged mainline ahead of release.

    Now with the upcoming Alder Lake, Intel also have a CPU with a heterogeneous architecture consisting of a mix of big and small cores like big.LITTLE / DynamIQ on ARM. AMD have nothing like that.

    So it seems Intel is the better choice.

    There is no compelling reason to chose AMD. AMD need to step up their game and bring something to the table, such as open source FSP and no binary blobs.

    Leave a comment:


  • pal666
    replied
    Originally posted by uid313 View Post
    This is why its better to buy Intel, with Intel you know that
    your money go into bribes instead of into fast hardware

    Leave a comment:


  • reba
    replied
    Originally posted by ciupenhauer View Post

    Thanks, I would consider swapping it if the driver is not added to mainline kernel in the next 3,4 releases. For now the aur dkms package works great. I'm much more interested in the platform_profile issue. Maybe I'll ping you privately after you get yours to check if it's a cpu issue or a lenovo issue
    Please feel free. I have already added the platform_profie issue to my "to check" list yesterday, so we're both interested in this. I will contact you.

    Leave a comment:


  • ciupenhauer
    replied
    Originally posted by reba View Post

    The box I ordered comes with, quoting Lenovo: "Intel Wi-Fi 6 AX200 11AX (2x2) & Bluetooth® 5.2" (which is this one without the extra stuff on amazon.com) with this Linux support. It's pretty cheap for what it can do, maybe you'd like to swap the card?


    Edit: according to Lenovo, the Yoga 7 Slim Pro comes with either the Realtek or the Intel WiFi card, depending on which of the two offered models you ordered:
    82N50009GE (Ryzen 7 5800H): Realtek 8852AE 11AX (2x2) & Bluetooth® 5.1
    82MS001NGE (Ryzen 9 5900HX): Intel Wi-Fi 6 AX200 11AX (2x2) & Bluetooth® 5.1

    A model with 5600H isn't listed, so I assume you're from a different market, other than "GE"=Germany, or it's not directly from Lenovo.
    Thanks, I would consider swapping it if the driver is not added to mainline kernel in the next 3,4 releases. For now the aur dkms package works great. I'm much more interested in the platform_profile issue. Maybe I'll ping you privately after you get yours to check if it's a cpu issue or a lenovo issue

    Leave a comment:


  • chithanh
    replied
    Myownfriend
    You mean running on the desktop or when gaming etc.?
    MangoHud will monitor temperatures, CPU/GPU load, RAM/VRAM utilization, fps/frametimes, etc.

    https://github.com/flightlessmango/MangoHud

    Leave a comment:

Working...
X