T-Birth

Members
  • Posts

    31
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

T-Birth's Achievements

Newbie

Newbie (1/14)

8

Reputation

1

Community Answers

  1. Ich habe meinen Beitrag auf den aktuellen Stand gebracht, inklusive Bios etc. @Blobbonator Also noch Stromsparender als mit diesen Settings habe ich das Bios nicht hinbekommen. Sicherlich kann man hier noch das ein oder andere mit Undervolting machen, allerdings bin ich so ganz zufrieden und werde es erstmal dabei belassen. Außerdem habe ich etwas mehr in den Beitrag integriert um anderen einen besseren Überblick über das Gesamtpaket zu verschaffen. Und wenn du dir die Scripte anschaust, dann wirf unbedingt einen Blick in die Quellen im Header. Da sollte noch etwas Lesestoff zu holen sein. Also alleine durch die RTX 3050 wirst du kaum über die C3 flutschen, kannst ja mal meine Settings Copy/Pasten und schauen ob nicht vllt doch C6 drin ist. Ich denke aber ehr nicht. Trotzdem hast du schon ein gutes Ergebnis erzielt und ich freue mich das mein kleiner Beitrag doch dem ein oder anderen hilft.
  2. Wenn man mit: pkill -cf /usr/local/emhttp/webGui/nchan rm /var/run/nchan.pid etwas herumspielt und vllt 5W pro Stunde spart. Sind das mit 10000 24/7 Unraid Nutzern auf 6.10/6.11 schon 50.000 W ersparnis pro Stunde. Bei 0,70 Cent pro KWh sind das ... in DM und Pferden umgerechnet.... Spaß beiseite, ich hoffe auf einen baldigen Fix denn so "Minor" ist das Problem aus meiner Sicht nicht. Natürlich auch danke an @mgutt für seinen kontinuierlich guten Beitrag zur Community.
  3. Hi, is there a ssh command available to force logout every user from WebGUI or close every Webgui Session ? Would be great if someone has a small hint. Thank you !
  4. Beitrag muss von mir angepasst werden. Im Moment erreiche ich mit meinen settings immer C8 und das Setup hat sich leicht geändert. Es hängt keine SSD mehr am SATA und der NVME Slot der direkt an die CPU angebunden ist wird auch nicht verwendet. Dann klappt es auch mit konstant C8 nach Powertop. C10 war mir aber bis jetzt verwehrt. Kleiner Test nebenbei: Ich habe ein Z690M AORUS ELITE AX DDR4 (rev. 1.x) zum testen bekommen und das neuste Bios geflasht. Da war ich im Idle so bei 12-19W. Dann habe ich das Wifi Modul ausgebaut um noch niedriger zu kommen aber Pustekuchen, nun komme ich nicht unter 20W im Idle und habe starke Spikes im Verbrauch. Im Bios befindet sich auch kein Schalter um Wifi/BT zu deaktivieren, daher gehe ich hier von einem Bug aus. Daher lohnt sich das Downgrade von MSI auf das kleinere Gigabyte für mich nicht so wirklich.
  5. Hi, also mein Aufbau ist ähnlich und hier näher erklärt -> https://forums.unraid.net/topic/125953-road-to-c10-msi-pro-z690-a-wifi-ddr4-setup-stromsparen/#comment-1147755 Ich denke das du mit 14-20 W im Idle bei Alder Lake echt gut dran bist. Weiter runter komme ich auch nicht. Übrigens klebte mein Build konstant in C6 fest aber der kleine Tipp hier hat mir geholfen ohne Probleme C8 zu erreichen. https://www.hardwareluxx.de/community/threads/die-sparsamsten-systeme-30w-idle.1007101/post-29184142 Insgesamt ist mein MB aber nicht wirklich zum Strom sparen geeignet, das macht ein GIGABYTE Z690M AORUS Elite AX DDR4 anscheinend besser. Sicher gibt es auch Boards die weniger schlucken, allerdings sind diese mit 6 SATA Ports, 2,5G Intel LAN und 3xNVME zu bezahlbaren Preisen absolute Mangelware. (Wenn nicht sogar 4x NVME benötigt wird, damit ich die CPU Anbindung zur M2 nicht nutzen muss bei 3x eingebauten NVME's) C10 bleibt damit für mich ein Traum, ich war auch schon drauf und dran mir einen älteren Build zuzulegen und den hier zu verkaufen. Orientiert habe ich mich an -> https://forums.unraid.net/topic/120797-sparsame-gebrauchte-matx-itx-boards-mit-2x-m2-6x8x-sata/ Gigabyte C246M-WU4 + Intel i3-8100 und das sollte erstmal passen. Außerdem geht man diesem ganzen "Der Kernel muss noch angepasst werden für Next-Gen Hardware" Debakel aus dem Weg. Das Spart nicht nur Strom, sondern auch Nerven...
  6. Nice script, thank you! but i think that it needs some little rework. It's not possible to backup the luks headers of several encrypted nvme's. I have 3 Samsung Nvme and its only generating one file named Samsung in the backup location for them. Also i received the following error during the process -> Script location: /tmp/user.scripts/tmpScripts/unraid_backup-luks-headers/script Note that closing this window will abort the execution of this script This script will backup the LUKS headers of all LUKS encrypted devices which are present on this host (Sokrates) to the following directory: /mnt/disks/2116E598E8E4/luksheaders/. This script will also copy the backed up LUKS headers to the Unraid flash drive, under the following directory: /boot/config/luks Now starting backup of LUKS headers... Requested header backup file Samsung already exists. Requested header backup file Samsung already exists. Backup of LUKS headers failed. Now exiting... /tmp/user.scripts/tmpScripts/unraid_backup-luks-headers/script: line 80: return: can only `return' from a function or sourced script Now setting proper owner and permissions for backed up LUKS headers... Now starting copy of backed up LUKS headers to the Unraid flash drive... Copy of backed up LUKS headers to the Unraid flash drive completed successfully. Now exiting... This worked for me, backed up and copyed this for my nvmes manually, with this example: cryptsetup luksHeaderBackup /dev/nvme1n1p1 --header-backup-file=/backuplocation/file.bin
  7. Solved this quick and dirty but for me totally fine. Created a User Script that reboots Unraid on Custom schedule every Sunday after my Network Stuff automatically restarts. #!/bin/bash shutdown -r now >/dev/null 2>&1
  8. Hi, i recently noticed after setting up an automatic restart of my router on Sunday, that my Unraid Server is not reachable after the router reboots. Is there a way to let Unraid automatically reconnect ? Maybe there is a small userscript out there that pings a target (website) and if the website is not reachable for several times/trys it forces the network card to reconnect ? Maybe it has something to do with the dhcp lease.. anyway... I would be really happy if someone could help. Thanks Guy's
  9. Danke für eure Tipps, also ich habe alle Lüfter gegen Noctua NF-P12 redux-1300 PWM + Noctua NA-SAVG1 getauscht. Inklusive der CPU-Lüfter. Insgesamt pendelt sich das System nun im Idle nicht mehr bei 28 Grad ein sondern bei 30 Grad und wird auch unter Last nicht wärmer wie 47 Grad. Und das bei unseren aktuellen Temperaturen -> Wohnzimmertemperatur 23,5-25 Grad und Außentemperatur über 34 Grad. Mir war ebenfalls wichtig das dieses System vollständig Silent ist und damit im Wohnzimmer stehen kann, mit den Noctua NF-P12 redux-1300 PWM + Noctua NA-SAVG1 ist das Kriterium vollständig erfüllt. Das System ist selbst unter Last nicht wahrnehmbar. Die Lüfterkurve im Bios wurde natürlich angepasst. Kleine Randnotiz: Mit den alten Arctic P14 PWM PST CO schwarz geriet das Gehäuse irgendwie in Schwingung und erzeugte ein Störgeräusch welches ziemlich random aufgetreten ist. Ich bin da auch nicht der einzige dem es so geht. Mit den Noctua NF-P12 redux-1300 PWM scheint das nicht der Fall zu sein. Sehr gut ! Ebenfalls wurde das Netzteil zu einem Corsair RM550x 80 PLUS Gold (2021) geupgradet. Außerdem habe ich MSI kontaktiert, mit der bitte, ob es möglich ist ein Bios zu erhalten welches cec2019 als Option beinhaltet. Falls das nicht möglich sein sollte, welches dann die idealen Powersave Settings im Bios sind. Dazu habe ich noch geschrieben das ich es nicht schaffe höher als C6 zu kommen, weder in Ubuntu oder Windows noch in Unraid. Hier ist die Antwort von MSI: Sehr geehrte Damen und Herren, vielen Dank für Ihre Anfrage. In der Regel können die Systeme bis zu C8 State runter gehen, für C10 state muss der Modern Standby Modus aktiv sind. Dies ist in der Regel nur bei Komplett Systemen möglich, da hier die verbaute Hardware auf das system abgestimmt sein muss. Für den C8 State müssen bestimmte Bedingungen erfüllt sein, sonst erreichen die Systeme maximal C6 State. Intel C-State = Enabled C1E Support = Enabled Package C State Limit = C10 Windows Power Plan set as "Power Saver". M.2 SSD must be installed on the PCIe lanes from PCH. SATA devices are not allowed. Für CEC Test werden diese Einstellungen gemacht im BIOS. ErP Ready = Enabled Intel C-State = Enabled C1E Support = Enabled Package C State Limit = C10 Mit freundlichen Grüßen Ihr MSI Tech. Support Team Insgesamt ist der Verbrauch durch die Maßnahmen im Durchschnitt um gut 10 Watt gesunken. Das Ziel C10 (für mich maximal C8 laut MSI?) steht aber ebenfalls noch aus, hier muss sicherlich noch von Unraid nachgebessert werden. Da auch hier immer starke Schwankungen im Verbrauch auftreten.
  10. Simple Question: Is the labeling cache in the command to spindown every drive that is used as cache or should I adjust it per drive label ? Example: I have a cache drive explicitly for docker labeled "vmdockercache" Thanks.
  11. Blauäugig wie ich bin habe ich mal die passenden Pins die ich aufeinander Stecken würde mit Blau markiert, kurzes Feedback ob das so stimmt wäre toll. Konnte gerade nur die Screens als Basis nehmen.
  12. Hmm aber die Anschlüsse am Board sind doch 9-Pol. Wo stecke ich den denn an folgenden Beispiel genau rein ? https://download.msi.com/archive/mnu_exe/mb/PROZ690-AWIFIDDR4_PROZ690-ADDR4100x150.pdf
  13. Hast du zufällig Mal eine Quelle für die Lüfter. Ich finde die redux 900 nur mit 3 Pin und nicht mit PWM. Tendenziell wäre ich einer Neuanschaffung zugunsten der Energieeffizienz nicht abgeneigt. Wenn noch jemand 120/140mm Lüfter kennt die sparsam im Verbrauch sind und wenn möglich mit PWM, dann immer raus damit. Wenn ich den Filter auf Geizhals nutze, ist das im Ergebnis ehr unbefriedigend.
  14. Ah, danke für die Antwort. Also höher wie C7 kommst du auch nicht, interessant. Ich probiere noch etwas herum, dabei sind die Punkte "Native PCIE Enable" und "Native ASPM" noch zwei Sachen mit denen ich herumspiele. Die Lüfter laufen kaum (mit 200-350 rpm) und halten den Server bei 25 Grad. Ich habe jetzt noch den Thermalright LGA1700-BCF organisiert und erhoffe mir dadurch noch etwas bessere Temperaturen (denke max. 2 Grad) und damit konstant niedrigere Drehzahlen bei den Lüftern. Die Lüfterkurve ist auf Silent eingestellt und auf diese mag ich auch nicht wirklich verzichten. Die Lüfter sind insgesamt 7 Stück. 5 Gehäuselüfter und 2 auf dem CPU-Kühler. Hier überlege ich vllt auf die 0RPM Variante umzusteigen. Ich denke wenn ich im Idle auf 15 Watt komme, bin ich für das Setup sehr zufrieden. Potential sehe ich definitiv noch im Netzteil, in den Lüftern und im C10. Ob ich ohne Turbo Modus höher komme als C6 steht auch noch aus. Sieht du bzw. jemand noch Verbesserungspotential an den Bios Settings bzw. an sonstigen Einstellungen ?
  15. Hallo, um meinen Server weiter zu optimieren, habe auch ich mich dem Thema "Stromsparen" gewidmet. Gerne möchte ich dazu meinen Beitrag leisten und mein Setup, meine Erfahrungen und meine Settings teilen. Dieser Beitrag dient mir ebenfalls dazu, den Überblick über mein Setup zu behalten. Das Ziel ist es am Ende in Unraid C10 zu erreichen, sofern überhaupt möglich. Aktuell hänge ich in C8 fest und bin aber für Anregungen und Hilfe sehr offen und dankbar. Mein Setup: Unraid -> 6.11.0 Intel Core I5-12500T 35W TDP (CM8071504647706) MSI Pro Z690-A WIFI DDR4 (7D25-012R) Crucial Ballistix Sport LT DDR4 3000 MHz 32GB (16GB x2), CL15 (BLS2K16G4D30AESB) Corsair RM550x 80 PLUS Gold (2021) 1x 18TB Seagate Exos X X18 (ST18000NM000J) - Parity 1x 18TB Seagate Exos X X18 (ST18000NM000J) - Data 2x Samsung 980 PRO with Heatsink 2TB - Cache 1x Cruzer Fit (USB für Unraid) -> Hängt direkt am MB über USB 2 Adapter 7x Noctua NF-P12 redux-1300 PWM + Noctua NA-SAVG1 Fractal Design Define R6 Black, schallgedämmt (FD-CA-DEF-R6-BK) be quiet! Straight Power 11 750W ATX 2.4 (BN283) 2x Noctua Lüfter für Noctua NH-D15 Chromax Black 5x Arctic P14 PWM PST CO schwarz, 140mm (ACFAN00126A) 1x Samsung SSD 970 EVO 1TB - Cache 1x CT1000MX500SSD 1TB - Unassigned Device 2x Western Digital WD Blue 4TB, SATA 6Gb/s (WD40EZRZ) - Disks Messgerät von CSL https://www.amazon.de/gp/product/B0751MGDLH/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 Aktueller Verbrauch: 20.10.2022 (Geringere Schwankungen) -> Siehe "power consumption fix for WebGui" 15 Minuten nach dem Neustart -> 21 Watt 1,5 Stunden nach dem Neustart (Idle) -> 13 Watt 02.10.2022 (Starke Schwankungen) 15 Minuten nach dem Neustart -> 23 Watt 1,5 Stunden nach dem Neustart (Idle) -> 17 Watt 22.07.2022 (Starke Schwankungen) 15 Minuten nach dem Neustart -> 26 Watt 1,5 Stunden nach dem Neustart (Idle) -> 14 Watt 12.07.2022 (Starke Schwankungen) 15 Minuten nach dem Neustart -> 36 Watt 1,5 Stunden nach dem Neustart (Idle) -> 24 Watt Verbesserungspotential: GIGABYTE Z690M AORUS Elite AX DDR4 -> Wurde getestet gegen mein MSI Pro Z690-A WIFI DDR4 (20.10.2022) Ich habe das Board zum testen bekommen und das neuste Bios (F20b) geflasht. Da war ich im Idle so bei 12-19W. Dann habe ich das Wifi Modul ausgebaut um noch niedriger zu kommen, allerdings komme ich nun nicht mehr unter 20W im Idle und habe starke Spikes im Verbrauch, teilweise war der Verbrauch höher als bei meinem MSI. Im Bios befindet sich auch kein Schalter um Wifi/BT zu deaktivieren, daher gehe ich hier von einem Bug aus. Aus meiner Sicht lohnt sich das Downgrade vom MSI (ATX) auf das kleinere Gigabyte (µATX) nicht wirklich. Lüfter im Winter abklemmen (Auf CPU und HDD Temperatur achten) -> Schafft der Noctua NH-D15 Chromax Black es auch ohne Lüfter die 35 Watt CPU kühl zu halten? Neues Netzteil -> Corsair RM550x 80 PLUS Gold (2021) Noctua NF-P12 redux-1300 PWM Hinweise: - Bis auf den Unraid-Stick und das Netzwerkkabel hängt kein weiteres Gerät an den Anschlüssen des Server's. - Ich verwende nur die iGPU - Es wird Powertop 2.15 benutzt -> Quelle - Bios wurde auf die neuste Version aktualisiert -> 7D25v192 - Ich gebe bei Scripten und Änderungen die Quelle mit im Header an, da kann dann jeder nochmal selber den Kontext herausfiltern. - Ich verwende die Powertop Commands im Go File und als Script. - Ich verwende das Folder Caching Plugin mit "Folder caching function: Enabled" und "Scan user shares (/mnt/user): No" - Intel GPU TOP ist installiert - Undervolt der CPU um 0,05 - Es wird der neuste Cusom Kernel benutzt "5.18.9 20220704 o3 clang15 thin LTO 6.10" -> Guide + Github (Durch die iGPU kam es zu Transcode fehlern + Random Crash. Diese sind mit dem Kernel behoben.) Aktuelles Problem: Der Server hängt in C8 fest und erreicht nicht C10 Der Server hängt in C6 fest und erreicht nicht C10 Syslinux configuration: kernel /bzimage append initrd=/bzroot intel_pstate=passive isolcpus=4-7 pcie_aspm=force hpet=disable intel_iommu=relax_rmrr mitigations=off Go File: #!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & # Anfang SSD Wear-Out Docker Schutz Script # https://forums.unraid.net/topic/112617-ssd-abnutzung-ma%C3%9Fgeblich-reduzieren/ # ------------------------------------------------- # ------------------------------------------------- # RAM-Disk for Docker json/log files # ------------------------------------------------- # create RAM-Disk on starting the docker service sed -i '/^ echo "starting \$BASE ..."$/i \ # move json/logs to ram disk\ rsync -aH --delete /var/lib/docker/containers/ ${DOCKER_APP_CONFIG_PATH%/}/containers_backup\ mount -t tmpfs tmpfs /var/lib/docker/containers\ rsync -aH --delete ${DOCKER_APP_CONFIG_PATH%/}/containers_backup/ /var/lib/docker/containers\ logger -t docker RAM-Disk created' /etc/rc.d/rc.docker # remove RAM-Disk on stopping the docker service sed -i '/^ # tear down the bridge$/i \ # backup json/logs and remove RAM-Disk\ rsync -aH --delete /var/lib/docker/containers/ ${DOCKER_APP_CONFIG_PATH%/}/containers_backup\ umount /var/lib/docker/containers\ rsync -aH --delete ${DOCKER_APP_CONFIG_PATH%/}/containers_backup/ /var/lib/docker/containers\ logger -t docker RAM-Disk removed' /etc/rc.d/rc.docker # Automatically backup Docker RAM-Disk sed -i '/^<?PHP$/a \ $sync_interval_minutes=30;\ if ( ! ((date('i') * date('H') * 60 + date('i')) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {\ exec("mkdir /var/lib/docker_bind");\ exec("mount --bind /var/lib/docker /var/lib/docker_bind");\ exec("rsync -aH --delete /var/lib/docker/containers/ /var/lib/docker_bind/containers");\ exec("umount /var/lib/docker_bind");\ exec("rmdir /var/lib/docker_bind");\ exec("logger -t docker RAM-Disk synced");\ }' /usr/local/emhttp/plugins/dynamix/scripts/monitor # Ende SSD Wear-Out Docker Schutz Script # Anfang vom Powersave Script - Kopie von dem User Script halt nur in Go File # https://forums.unraid.net/topic/98070-reduce-power-consumption-with-powertop/ # https://forums.unraid.net/topic/79616-haveged-daemon/?tab=comments#comment-903452 # https://forums.unraid.net/topic/109990-kein-spindown-nach-hardwareaustausch-mit-aktiviertem-powertop/?do=findComment&comment=1004380 # https://forums.unraid.net/topic/114852-b365m-package-c-states-strom-sparen/#comment-1078534 # https://forums.unraid.net/topic/111921-why-is-aspm-disabled-in-unraid-while-its-enabled-in-ubuntu/?do=findComment&comment=1053964 # ------------------------------------------------- # Set power-efficient CPU governor # ------------------------------------------------- /etc/rc.d/rc.cpufreq ondemand # ------------------------------------------------- # Enable power-efficient ethernet # ------------------------------------------------- # enable IEEE 802.3az (Energy Efficient Ethernet): Could be incompatible to LACP bonds! for i in /sys/class/net/eth?; do dev=$(basename $i); [[ $(echo $(ethtool --show-eee $dev 2> /dev/null) | grep -c "Supported EEE link modes: 1") -eq 1 ]] && ethtool --set-eee $dev eee on; done # Disable wake on lan for i in /sys/class/net/eth?; do ethtool -s $(basename $i) wol d; done # Runtime PM for port ata od PCI devices for i in /sys/bus/pci/devices/????:??:??.?/ata*/power/control; do echo 'auto' > $i; done # VM writeback timeout for i in /proc/sys/vm/dirty_writeback_centisecs; do echo '1500' > $i; done # ------------------------------------------------- # powertop tweaks # ------------------------------------------------- # Enable SATA link power management echo med_power_with_dipm | tee /sys/class/scsi_host/host*/link_power_management_policy # Runtime PM for I2C Adapter (i915 gmbus dpb) echo auto | tee /sys/bus/i2c/devices/i2c-*/device/power/control # Autosuspend for USB device echo auto | tee /sys/bus/usb/devices/*/power/control # Runtime PM for disk echo auto | tee /sys/block/sd*/device/power/control # Runtime PM for PCI devices echo auto | tee /sys/bus/pci/devices/????:??:??.?/power/control # Runtime PM for ATA devices echo auto | tee /sys/bus/pci/devices/????:??:??.?/ata*/power/control # Ende vom Powersave Script - Kopie von dem User Script halt nur in Go File Aktive Scripte: - Daily - delete.appledouble #!/bin/bash echo "Searching for (and deleting) .AppleDouble" echo "This may take a awhile" find /mnt/user -maxdepth 9999 -noleaf -type f -name ".AppleDouble" -exec rm "{}" \; delete_dangling_images #!/bin/bash docker rmi $(docker images --quiet --filter "dangling=true") echo Finished echo if an error shows above, no dangling images were found to delete delete.ds_store #!/bin/bash echo "Searching for (and deleting) .DS_Store Files" echo "This may take a awhile" find /mnt/user -maxdepth 9999 -noleaf -type f -name ".DS_Store" -exec rm "{}" \; delete._.DS_Store #!/bin/bash echo "Searching for (and deleting) .Spotlight-V100" echo "This may take a awhile" find /mnt/user -maxdepth 9999 -noleaf -type f -name ".Spotlight-V100" -exec rm "{}" \; delete.Spotlight-V100 #!/bin/bash echo "Searching for (and deleting) .Spotlight-V100" echo "This may take a awhile" find /mnt/user -maxdepth 9999 -noleaf -type f -name ".Spotlight-V100" -exec rm "{}" \; delete.temporaryitems #!/bin/bash echo "Searching for (and deleting) .TemporaryItems" echo "This may take a awhile" find /mnt/user -maxdepth 9999 -noleaf -type f -name ".TemporaryItems" -exec rm "{}" \; delete.trashes #!/bin/bash echo "Searching for (and deleting) .Trashes" echo "This may take a awhile" find /mnt/user -maxdepth 9999 -noleaf -type f -name ".Trashes" -exec rm "{}" \; jdownloaderPermissionsFix *behebt meine Permission probs zb. beim entpacken mit Jdownloader und beim Backup mit Vorta #!/bin/bash # https://forums.unraid.net/topic/59696-docker-safe-new-permissions-what-does-it-do/ /usr/local/sbin/newperms /mnt/user/data/downloads/jdownloader # /usr/local/sbin/newperms /mnt/disks/2116E598E8E4/vorta powertop manually - daily #!/bin/bash # Source -> # https://forums.unraid.net/topic/98070-reduce-power-consumption-with-powertop/ # https://forums.unraid.net/topic/79616-haveged-daemon/?tab=comments#comment-903452 # https://forums.unraid.net/topic/109990-kein-spindown-nach-hardwareaustausch-mit-aktiviertem-powertop/?do=findComment&comment=1004380 # https://forums.unraid.net/topic/114852-b365m-package-c-states-strom-sparen/#comment-1078534 # https://forums.unraid.net/topic/111921-why-is-aspm-disabled-in-unraid-while-its-enabled-in-ubuntu/?do=findComment&comment=1053964 # ------------------------------------------------- # Set power-efficient CPU governor # ------------------------------------------------- /etc/rc.d/rc.cpufreq ondemand # ------------------------------------------------- # Enable power-efficient ethernet # ------------------------------------------------- # enable IEEE 802.3az (Energy Efficient Ethernet): Could be incompatible to LACP bonds! for i in /sys/class/net/eth?; do dev=$(basename $i); [[ $(echo $(ethtool --show-eee $dev 2> /dev/null) | grep -c "Supported EEE link modes: 1") -eq 1 ]] && ethtool --set-eee $dev eee on; done # Disable wake on lan for i in /sys/class/net/eth?; do ethtool -s $(basename $i) wol d; done # Runtime PM for port ata od PCI devices for i in /sys/bus/pci/devices/????:??:??.?/ata*/power/control; do echo 'auto' > $i; done # VM writeback timeout for i in /proc/sys/vm/dirty_writeback_centisecs; do echo '1500' > $i; done # ------------------------------------------------- # powertop tweaks # ------------------------------------------------- # Enable SATA link power management echo med_power_with_dipm | tee /sys/class/scsi_host/host*/link_power_management_policy # Runtime PM for I2C Adapter (i915 gmbus dpb) echo auto | tee /sys/bus/i2c/devices/i2c-*/device/power/control # Autosuspend for USB device echo auto | tee /sys/bus/usb/devices/*/power/control # Runtime PM for disk echo auto | tee /sys/block/sd*/device/power/control # Runtime PM for PCI devices echo auto | tee /sys/bus/pci/devices/????:??:??.?/power/control # Runtime PM for ATA devices echo auto | tee /sys/bus/pci/devices/????:??:??.?/ata*/power/control - At Startup of Array - powertop manually - after array start #!/bin/bash # Source -> # https://forums.unraid.net/topic/98070-reduce-power-consumption-with-powertop/ # https://forums.unraid.net/topic/79616-haveged-daemon/?tab=comments#comment-903452 # https://forums.unraid.net/topic/109990-kein-spindown-nach-hardwareaustausch-mit-aktiviertem-powertop/?do=findComment&comment=1004380 # https://forums.unraid.net/topic/114852-b365m-package-c-states-strom-sparen/#comment-1078534 # https://forums.unraid.net/topic/111921-why-is-aspm-disabled-in-unraid-while-its-enabled-in-ubuntu/?do=findComment&comment=1053964 # ------------------------------------------------- # Set power-efficient CPU governor # ------------------------------------------------- /etc/rc.d/rc.cpufreq ondemand # ------------------------------------------------- # Enable power-efficient ethernet # ------------------------------------------------- # enable IEEE 802.3az (Energy Efficient Ethernet): Could be incompatible to LACP bonds! for i in /sys/class/net/eth?; do dev=$(basename $i); [[ $(echo $(ethtool --show-eee $dev 2> /dev/null) | grep -c "Supported EEE link modes: 1") -eq 1 ]] && ethtool --set-eee $dev eee on; done # Disable wake on lan for i in /sys/class/net/eth?; do ethtool -s $(basename $i) wol d; done # Runtime PM for port ata od PCI devices for i in /sys/bus/pci/devices/????:??:??.?/ata*/power/control; do echo 'auto' > $i; done # VM writeback timeout for i in /proc/sys/vm/dirty_writeback_centisecs; do echo '1500' > $i; done # ------------------------------------------------- # powertop tweaks # ------------------------------------------------- # Enable SATA link power management echo med_power_with_dipm | tee /sys/class/scsi_host/host*/link_power_management_policy # Runtime PM for I2C Adapter (i915 gmbus dpb) echo auto | tee /sys/bus/i2c/devices/i2c-*/device/power/control # Autosuspend for USB device echo auto | tee /sys/bus/usb/devices/*/power/control # Runtime PM for disk echo auto | tee /sys/block/sd*/device/power/control # Runtime PM for PCI devices echo auto | tee /sys/bus/pci/devices/????:??:??.?/power/control # Runtime PM for ATA devices echo auto | tee /sys/bus/pci/devices/????:??:??.?/ata*/power/control - Custom - *Wenn jemand Cron nicht lesen kann, dann ist hier ein Converter der das ganze aufschlüsselt -> Link power consumption fix for WebGui zu 0 */2 * * * #!/bin/bash # https://forums.unraid.net/bug-reports/stable-releases/power-consumption-is-not-stable-since-unraid-610-611-r2148/ pkill -cf /usr/local/emhttp/webGui/nchan rm /var/run/nchan.pid restartregulary zu 5 5 * * 0 #!/bin/bash shutdown -r now >/dev/null 2>&1 videopreloader zu 25 11,18 * * * #!/bin/bash # ##################################### # https://forums.unraid.net/topic/97982-video-preloader-avoids-hdd-spinup-latency-when-starting-a-movie-or-episode-through-plex-jellyfin-or-emby/ # Script: Video Preloader v1.1 # Description: Preloads the recent video files of a specific path into the RAM to bypass HDD spinup latency # Author: Marc Gutt # # Changelog: # 1.1 # - changed the way how movies are found and sorted to avoid confusing error messages # - added timestamps to the logs # - check if the given video paths are used by a docker container (else RAM preloading would not have any effect) # - better documentation of the settings # ######### Settings ################## video_paths=( "/mnt/user/data/media/" ) # the size of a video files must be at least 2GB (to exclude bonus content) video_min_size="800MB" # we preload 60MB of the beginning of the video file into the RAM (raise this value if your video buffers after ~5 seconds) preload_head_size="60MB" # we preload 1MB of the end of the video file preload_tail_size="1MB" # if a preload is faster than 0.150 seconds than the video is already preloaded to the RAM preload_threshold="0.150" # preload only video files with specific extensions https://support.plex.tv/articles/203824396-what-media-formats-are-supported/ video_ext='avi|mkv|mov|mp4|mpeg' # preload only subtitle files with specific extensions # https://support.plex.tv/articles/200471133-adding-local-subtitles-to-your-media/#toc-1 sub_ext='srt|smi|ssa|ass|vtt' # we use 50% of our free RAM for preloading (it will be still free, check https://www.linuxatemyram.com/) free_ram_usage_percent=50 # set this to "1" to remove all preloads (this is only usefull if you want to force reading from Disk) preclean_cache=0 # notify if the execution was sucessful (errors produce notifications by default) notification=0 # ##################################### # # ######### Script #################### # timestamping logs exec &> >(stdbuf -o0 sed 's/%/%%/g' | xargs -d '\n' -I {} date '+%F %T {}') # make script race condition safe if [[ -d "/tmp/${0///}" ]] || ! mkdir "/tmp/${0///}"; then exit 1; fi; trap 'rmdir "/tmp/${0///}"' EXIT; # check user settings video_min_size="${video_min_size//[!0-9.]/}" # float filtering https://stackoverflow.com/a/19724571/318765 video_min_size=$(awk "BEGIN { print $video_min_size*1000000}") # convert MB to Bytes preload_head_size="${preload_head_size//[!0-9.]/}" preload_head_size=$(awk "BEGIN { print $preload_head_size*1000000}") preload_tail_size="${preload_tail_size//[!0-9.]/}" preload_tail_size=$(awk "BEGIN { print $preload_tail_size*1000000}") # check if paths are used in docker containers if docker info > /dev/null 2>&1; then # get docker mounts of all running containers # shellcheck disable=SC2016 docker_mounts=$(docker ps -q | xargs docker container inspect -f '{{$id := .Id}}{{range .Mounts}}{{if .Source}}{{printf $id}}:{{.Source}}{{println}}{{end}}{{end}}' | grep -v -e "^$") for path in "${video_paths[@]}"; do if [[ $docker_mounts != *"$path"* ]]; then /usr/local/emhttp/webGui/scripts/notify -i alert -s "Plex Preloader failed!" -d "$path is not used by a docker container!" exit 1 fi done fi # clean the read cache if [ "$preclean_cache" = "1" ]; then sync; echo 1 > /proc/sys/vm/drop_caches fi # preload calculation preloaded=0 skipped=0 preload_total_size=$((preload_head_size + preload_tail_size)) free_ram=$(free -b | awk '/^Mem:/{print $7}') free_ram=$((free_ram * free_ram_usage_percent / 100)) echo "Available RAM: $(numfmt --to si $free_ram)" preload_amount=$((free_ram / preload_total_size)) preload_size=$(( preload_head_size + preload_tail_size )) echo "Amount of videos that can be preloaded: $preload_amount (each video occupies $(numfmt --to si $preload_size))" # find all video files while IFS= read -r -d '' file; do video_files+=("$file") done < <(find "${video_paths[@]}" -not -path '*/.*' -size +"$video_min_size"c -regextype posix-extended -regex ".*\.($video_ext)" -printf "%T@ %p\0") # sort all video files while IFS= read -r -d '' file; do video_files_sorted+=("$file") done < <(printf '%s\0' "${video_files[@]}" | sort -znr) # preload video files into RAM for i in "${!video_files_sorted[@]}"; do # stop if we reached our preload limit if [[ $i -ge $preload_amount ]]; then break; fi # remove modification time file=$(echo "${video_files_sorted[$i]}" | cut -f2- -d" ") TIMEFORMAT=%R seconds=$(time ( head -c "$preload_head_size" "$file" ) 2>&1 1>/dev/null ) if awk 'BEGIN {exit !('"$seconds"' >= '"$preload_threshold"')}'; then preloaded=$((preloaded + 1)) echo "Preloaded $file in $seconds seconds" else echo "Skipped $file as loading needed only $seconds" skipped=$((skipped + 1)) fi tail -c "$preload_tail_size" "$file" > /dev/null video_path=$(dirname "$file") # fetch subtitle files find "$video_path" -not -path '*/.*' -regextype posix-extended -regex ".*\.($sub_ext)" -print0 | while IFS= read -r -d '' file; do echo "Preloaded $file" cat "$file" >/dev/null done done # notification if [[ $preloaded -eq 0 ]] && [[ $skipped -eq 0 ]]; then /usr/local/emhttp/webGui/scripts/notify -i alert -s "Plex Preloader failed!" -d "No video file has been preloaded (wrong path?)!" elif [ "$notification" = "1" ]; then /usr/local/emhttp/webGui/scripts/notify -i normal -s "Plex Preloader has finished" -d "$preloaded preloaded (from Disk) / $skipped skipped (already in RAM)" fi - Wird aktuell nicht verwendet weil keine dGPU verbaut aber trotzdem interessant zum Stromsparen - nvidia_powersave_by_spaceinvader #!/bin/bash # Source: https://www.youtube.com/watch?v=KD6G-tpsyKw&list=PLUNrs1P9BJNB6P3ZzqPm6LQ8iJXguv4cQ&index=18 # check for driver command -v nvidia-smi &> /dev/null || { echo >&2 "nvidia driver is not installed you will need to install this from community applications ... exiting."; exit 1; } echo "Nvidia drivers are installed" echo echo "I can see these Nvidia gpus in your server" echo nvidia-smi --list-gpus echo echo "-------------------------------------------------------------" # set persistence mode for gpus ( When persistence mode is enabled the NVIDIA driver remains loaded even when no active processes, # stops modules being unloaded therefore stops settings changing when modules are reloaded nvidia-smi --persistence-mode=1 #query power state gpu_pstate=$(nvidia-smi --query-gpu="pstate" --format=csv,noheader); #query running processes by pid using gpu gpupid=$(nvidia-smi --query-compute-apps="pid" --format=csv,noheader); #check if pstate is zero and no processes are running by checking if any pid is in string if [ "$gpu_pstate" == "P0" ] && [ -z "$gpupid" ]; then echo "No pid in string so no processes are running" fuser -kv /dev/nvidia* echo "Power state is" echo "$gpu_pstate" # show what power state is else echo "Power state is" echo "$gpu_pstate" # show what power state is fi echo echo "-------------------------------------------------------------" echo echo "Power draw is now" # Check current power draw of GPU nvidia-smi --query-gpu=power.draw --format=csv exit powersavingfornvidia # !/bin/bash # https://www.reddit.com/r/unRAID/comments/nq1fqu/nvidia_p2000_power_state_idle/ #nvidia-smi --persistence-mode=1 nvidia-persistenced fuser -v /dev/nvidia* Screenshots: Interessante Quellen: Häufig gestellte Fragen Sparsame gebrauchte mATX / ITX Boards mit 2x M.2, 6x/8x SATA Die sparsamsten Systeme (<30W Idle) Sammlung von bekannten Problemen beim erreichen vom C6/C7 Package State M.2 im M2A_CPU mit Betriebssystem verhindert bessere Package C-States als C7 Changelog: 20.10.2022 - Aktualisiert 02.10.2022 - Aktualisiert 12.07.2022 - Initialpost