@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 🤔
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.
System ist auf der SD-Karte, NVMe SSD nur gemountet. System ohne Last.
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.
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