Skip to content

NVME stromverbrauch mainline kernel, APST

Ungelöst Probleme?
  • halli hallo,
    hat jemand schon mal versucht, den stromverbrauch der nvme zu reduzieren? falls ja und erfolgreich, wie könnte das aussehen?

    mein board komplett inkl pin64 standard nvme karte und einer wd black 250
    mit 4.20.6. Verbrauch: ca. 7,7W ca.
    mit ayufan 4.4 irgendwas: 5,9W ca.

    letzteres ist für mich aber keine option.
    Zum mainline gibt es einige informationen, stichwort apst und nvme_core.default_ps_max_latency_us. Die gab es im 4.4er noch nicht. Daher kann man das mit dem apst dort nicht auch ausprobieren, zum vergleich.

    Die nvme bietet wie folgt an:

    nvme id-ctrl /dev/nvme0
    
    ps    0 : mp:5.00W operational enlat:0 exlat:0 rrt:0 rrl:0
              rwt:0 rwl:0 idle_power:- active_power:-
    ps    1 : mp:3.50W operational enlat:0 exlat:0 rrt:1 rrl:1
              rwt:1 rwl:1 idle_power:- active_power:-
    ps    2 : mp:3.00W operational enlat:0 exlat:0 rrt:2 rrl:2
              rwt:2 rwl:2 idle_power:- active_power:-
    ps    3 : mp:0.0700W non-operational enlat:4000 exlat:10000 rrt:3 rrl:3
              rwt:3 rwl:3 idle_power:- active_power:-
    ps    4 : mp:0.0025W non-operational enlat:4000 exlat:45000 rrt:4 rrl:4
              rwt:4 rwl:4 idle_power:- active_power:-
    
    

    Sie idle-d aber anscheinend immer im ps1 rum, das könnte dann auch passen da das board allein so 4W nimmt. Und 0,07W hören sich da doch verlockend an.

    nvme get-feature -f 0x0c /dev/nvme0 -H
    
    get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
    	Autonomous Power State Transition Enable (APSTE): Enabled
    	Auto PST Entries	.................
    	Entry[ 0]   
    	.................
    	Idle Time Prior to Transition (ITPT): 700 ms
    	Idle Transition Power State   (ITPS): 3
    	.................
    	Entry[ 1]   
    	.................
    	Idle Time Prior to Transition (ITPT): 700 ms
    	Idle Transition Power State   (ITPS): 3
    	.................
    	Entry[ 2]   
    	.................
    	Idle Time Prior to Transition (ITPT): 700 ms
    	Idle Transition Power State   (ITPS): 3
    
    

    Kernel boot flag hab ich wie gesagt schon gesetzt und verschiedene werte probiert plus weitere module parameter vom nvme_core. Alles nach mehreren stunden bislang ohne erfolg.

    Dank vorab
    gruß

  • Hallo @kosmonaut-pirx ,

    interessant 😉

    Ok, dann mal los.

    SYS

    • ROCKPro64 v2.1 2GB RAM
    • PCIe NVMe SSD 960 EVO
    • 16 GB SD-Karte

    System ist auf der SD-Karte, NVMe SSD nur gemountet. System ohne Last.

    4.4

    rock64@rockpro64:~$ uname -a
    Linux rockpro64 4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1 #1 SMP Mon Oct 22 20:59:41 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Stromverbrauch: 3,62 Watt

    Da dich 4.4 nicht interessiert aktualisiere ich den jetzt auch nicht.

    4.20

    rock64@rockpro64:~$ uname -a
    Linux rockpro64 4.20.0-1083-ayufan-g686e1f1aa461 #ayufan SMP PREEMPT Sun Dec 30 13:42:26 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Stromverbrauch: 3,5 Watt

    nvme id-ctrl /dev/nvme0
    
    ps    0 : mp:6.04W operational enlat:0 exlat:0 rrt:0 rrl:0
              rwt:0 rwl:0 idle_power:- active_power:-
    ps    1 : mp:5.09W operational enlat:0 exlat:0 rrt:1 rrl:1
              rwt:1 rwl:1 idle_power:- active_power:-
    ps    2 : mp:4.08W operational enlat:0 exlat:0 rrt:2 rrl:2
              rwt:2 rwl:2 idle_power:- active_power:-
    ps    3 : mp:0.0400W non-operational enlat:210 exlat:1500 rrt:3 rrl:3
              rwt:3 rwl:3 idle_power:- active_power:-
    ps    4 : mp:0.0050W non-operational enlat:2200 exlat:6000 rrt:4 rrl:4
              rwt:4 rwl:4 idle_power:- active_power:-
    

    Und der andere Befehl von dir

    rock64@rockpro64:~$ sudo nvme get-feature -f 0x0c /dev/nvme0 -H
    get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
    	Autonomous Power State Transition Enable (APSTE): Enabled
    	Auto PST Entries	.................
    	Entry[ 0]   
    	.................
    	Idle Time Prior to Transition (ITPT): 86 ms
    	Idle Transition Power State   (ITPS): 3
    	.................
    	Entry[ 1]   
    	.................
    	Idle Time Prior to Transition (ITPT): 86 ms
    	Idle Transition Power State   (ITPS): 3
    	.................
    	Entry[ 2]   
    	.................
    	Idle Time Prior to Transition (ITPT): 86 ms
    	Idle Transition Power State   (ITPS): 3
    	.................
    	Entry[ 3]   
    	.................
    	Idle Time Prior to Transition (ITPT): 410 ms
    	Idle Transition Power State   (ITPS): 4
    	.................
    	Entry[ 4]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[ 5]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[ 6]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[ 7]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[ 8]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[ 9]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[10]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[11]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[12]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[13]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[14]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[15]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[16]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[17]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[18]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[19]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[20]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[21]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[22]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[23]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[24]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[25]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[26]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[27]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[28]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[29]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[30]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    	.................
    	Entry[31]   
    	.................
    	Idle Time Prior to Transition (ITPT): 0 ms
    	Idle Transition Power State   (ITPS): 0
    

    Ob dir das hilf, weiß ich nicht. Da ich denke, das du dich mit dem Thema beschäftigt hast, hier was für dich zum Vergleichen. Vielleicht hilft es Dir!

    Als Hinweis an andere Leser, für den Befehl nvme gibt man vorher folgendes ein

    sudo apt install nvme-cli
    
  • halli hallo,
    danke für die vergleichswerte, das ist schon mal eine hausnummer. die derzeit leider schwer zu schlagen ist hier.

    hab weiter gesucht:
    -mein system war mit wlan-stick (so ein Netgear A6210, Mediatek 7612 oder so, alles recht neu im Kernel) nimmt mal eben 2W. Huch.
    -das ethernet begnügt sich ca. mit 0,1W, wenn verbunden
    -man kann im Kernel noch weiter an den pcie-strom-spar-einstellungen drehen (standard: vom Bios, PowerSave, PowerSuperSave, "Vollgas"). Vom Bios war immer erhöht vom Verbrauch als die Power-Modi
    -Usb-C port-extender testweise rangeklemmt, 0,2W ohne was dort dran

    für die tests habe ich den WlanStick raus. und die Werte mit verschiedenen nvme_core.default_ps_max_latency_us probiert:

    # 200: W, ohne wlan stick 5,7W
    # 5500: W, ohne wlan stick 5,7W
    # 9000: 7,6W, ohne wlan stick 5,7W
    # 10000: 6,5W, ohne wlan stick 4,7W
    # 11000: 6,6W, ohne wlan stick power super save 4,7W, bios ohne power super save 5,7W, nur powersave 4,7W
    # 12000: 6,7W, ohne wlan stick 4,7W
    # 14000: W, ohne wlan stick 4,7W
    # 15000: W, ohne wlan stick 4,7W
    # 42000: W, ohne wlan stick 4,7W
    # 44000: W, ohne wlan stick 4,7W
    # 45000: W, ohne wlan stick 5,0W
    # 50000: W, ohne wlan stick 5,0W, nur powersave 5,0W
    

    na ich lass wohl den wohltuend klingenden PowerSuperSave dauerhaft laufen

    ist ein wenig seltsam, warum über 45000 latenz wieder mehr auf der Stromleitung drauf ist.
    vielleicht werfe ich auch noch mal andere werte für nvme_core parameter an, aber große erwartungen bestehen nicht mehr. So 7W mit dem Wlan für hostapd ist aktuell auch einigermaßen akzeptabel für mich. 5W wären schick, aber ein andernmal vielleicht.

    Ach ja, kernel 4.20.7 ist released worden. Das Changelog gibt aber für nicht so viel her für das gerät. Vielleicht was mit pci, auf arm allerdings. Bischen was arm64, nichts großes denke ich so nach den quer lesen.

    Soweit
    gruß

  • falls jemand das otf (on-the-fly) ausprobieren möchte und sysfs an hat (heißt so glaub ich, ist aber default vermutlich): mit

    /sys/class/nvme/nvme0/power/pm_qos_latency_tolerance_us

    herum spielen. Wert auf 0 schreiben, dann den Wert der latenz. Siehe unten. Das beispiel unten von mir zeigt bei für mein system bspw auch den grenzwert (10000, aus dem p3 exlat, obwohl das angeblich nicht so sein sollte). bei 9999 geht das system 1W hoch, bei 10000 runter

    ps    0 : mp:5.00W operational enlat:0 exlat:0 rrt:0 rrl:0
              rwt:0 rwl:0 idle_power:- active_power:-
    ps    1 : mp:3.50W operational enlat:0 exlat:0 rrt:1 rrl:1
              rwt:1 rwl:1 idle_power:- active_power:-
    ps    2 : mp:3.00W operational enlat:0 exlat:0 rrt:2 rrl:2
              rwt:2 rwl:2 idle_power:- active_power:-
    ps    3 : mp:0.0700W non-operational enlat:4000 exlat:10000 rrt:3 rrl:3
              rwt:3 rwl:3 idle_power:- active_power:-
    ps    4 : mp:0.0025W non-operational enlat:4000 exlat:45000 rrt:4 rrl:4
              rwt:4 rwl:4 idle_power:- active_power:-
    
    echo "0" > /sys/class/nvme/nvme0/power/pm_qos_latency_tolerance_us
    echo "9999" > /sys/class/nvme/nvme0/power/pm_qos_latency_tolerance_us
    echo "0" > /sys/class/nvme/nvme0/power/pm_qos_latency_tolerance_us
    echo "10000" > /sys/class/nvme/nvme0/power/pm_qos_latency_tolerance_us
    

  • RockPro64: Raid fehlt nach Absturz

    Gelöst Probleme?
    23
    0 Stimmen
    23 Beiträge
    393 Aufrufe
    R

    @FrankM
    Lieber Frank!
    Vielen Dank für deine Geduld! War ein echter Segen für mich!
    Lösung war, wie du vorgeschlagen hast: Kaputte Platte raus, neustarten, alles da!
    Was für eine Erleichterung.
    Jetzt mach ich noch ne neue HDD rein, repariere das Raid; und fertig. Hoffentlich für die nächsten Jahre.

    Vielen, vielen Dank!

  • RockPro64 Netzwerkprobleme

    Ungelöst Probleme?
    11
    0 Stimmen
    11 Beiträge
    216 Aufrufe
    FrankMF

    @EricG Ja, das hatte ich schon fast bergessen. Ich nutze zur Installation dann einen USB-to-LAN Adapter. Danach geht eth0, wenn man sie konfiguriert. Aber das hast Du ja sicherlich auch schon gelesen.

    Ich sollte das evt. mal wieder testen 🤔

  • RockPro64 als Backup Server

    Ungelöst Probleme?
    5
    1 Stimmen
    5 Beiträge
    335 Aufrufe
    T

    @mabs sagte in RockPro64 als Backup Server:

    Ich versteh nicht wie der PCI-E<=>NVMe Adapter im Odroid H2+ laufen soll

    Er sprach vom JMB585 im M.2-Format. 2 x SATA vom Intel-SoC plus 5 vom JMB585 macht dann 7 SATA-Anschlüsse. Der JMB585 im H2+ ist natürlich auch ausgebremst, weil Intels Gemini Lake (Refresh) auch nur PCIe Gen2 kann und so die 5 SATA-Ports des JMB585 nur hinter zwei Gen2 Lanes hängen.

  • Installationsprobleme wegen unkenntnis

    Ungelöst Probleme?
    7
    0 Stimmen
    7 Beiträge
    241 Aufrufe
    C

    @frankm
    Hallo Frank,
    ich habe mir das was ich habe mal so angeschaut und festgestellt das ich einen Avira AV Blocker aufgespielt habe von daher denke ich ich lass das Gesummse mit VPN . Hat der Anbieter 58 € Gewinn gemacht ohne Leistung , auch nicht schlecht.
    Meinen herzlichsten Dank für Deine Mühe , ist ernst gemeint !
    Der alte Mann mit dem Rocker Rollstuhl
    Uli

  • Probleme mit RockPro64 ASMedia Technology Inc. ASM1062 Serial ATA Controller

    Probleme?
    7
    1 Stimmen
    7 Beiträge
    822 Aufrufe
    FrankMF

    Freut mich, das es jetzt so problemlos klappt. Das ist echt immer ein Problem mit Linux und Hardware. Es ist zwar besser geworden aber noch nicht optimal. Und auf den kleinen Platinen ist das auch noch eine ganz andere Sache.

    Ich kann die auch heute noch immer wieder empfehlen. Läuft und läuft....

    root@NASrp64:~# uptime 18:58:29 up 66 days, 2:54, 1 user, load average: 0,00, 0,00, 0,00

    Mein NAS läuft 24/7

    Viel Spaß damit!

  • bootconsole [uart8250] disabled

    Probleme?
    24
    1 Stimmen
    24 Beiträge
    1k Aufrufe
    gabs5807G

    @gabs5807 sagte in bootconsole [uart8250] disabled:

    @FrankM sagte in bootconsole [uart8250] disabled:

    Hast Du dein Image auf das eMMC Modul installiert?

    Wenn ja, das Modul beim Booten der Images bitte abschalten.
    Vielen Dank für den Hinweis. Habe gelesen aber leider vergessen 😯.
    Werde ich machen, ich das Gehäuse noch mal öffnen muss und die SSD weil ich noch austauschen muss.
    Viele Grüße

    Das flashen des SPI hat jetzt wie beschrieben funktioniert 😊. Vielen Dank.

  • hdparm / SATA Platten spindown und Energiemanagement

    Gelöst Probleme?
    4
    0 Stimmen
    4 Beiträge
    356 Aufrufe
    FrankMF

    Sorry, das Wissen hatte ich vorausgesetzt. Aber schön, das es funktioniert.

    Dann viel Spaß mit deinem NAS 👍

  • Schon wieder mal: Problem mit SATA Karte Marvell 88SE9230 - mainline kernel installieren?

    Gelöst Probleme?
    27
    0 Stimmen
    27 Beiträge
    2k Aufrufe
    FrankMF

    Danke für die Rückmeldung.

    Mein NAS läuft wie gesagt schon relativ lange sehr stabil. Und es macht auch was 🙂 Es sichert z.B. dieses Forum und viele andere Seiten regelmäßig. Ansonsten dient es als mein Datengrab. Nix besonderes..

    Wenn Du nicht so komplizierte Dinge fragst, darfst du gerne neue Threads eröffnen 🙂