Debian (OMV) System - CPU Package C-States bleiben bei PC3 (Kerne erreichen CC7)

Thomas126

Cadet 1st Year
Registriert
Dez. 2014
Beiträge
14
Hallo zusammen,

ich habe ein Problem mit meinem frisch installierten OMV-System (Basisinstallation, nichts weiter gemacht -> außer den folgenden Punkten in der Liste), bei dem die CPU Package C-States anscheinend nicht tiefer als PC3 gehen, selbst wenn das System komplett im Leerlauf ist. Meine einzelnen CPU-Kerne erreichen tiefe C-States (wie CC7) mit hoher Verweildauer, aber die Gesamtenergieeinsparung des Packages ist nicht so gut, wie ich es erwarten würde. Mein Ziel ist es, tiefere Package C-States (PC6, PC7, PC8+, falls von der CPU unterstützt) für eine bessere Energieeffizienz zu erreichen.

Systeminformationen:

  • Betriebssystem: Debian (Kernel 6.1.0-34-amd64 - OMV basiert darauf)
  • CPU-Modell: Intel Core i3-12100
  • Mainboard/System-Modell: GIGABYTE B760M DS3H DDR4 (Link zur Produktseite)
  • Ausgabe von cat /proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.1.0-34-amd64 root=UUID=f99c1d56-3f4e-41dd-aaef-f8688bb2b8b9 ro quiet
Was ich bisher versucht und überprüft habe:

  1. BIOS/UEFI-Einstellungen:
    • Ich bin meine BIOS-Einstellungen durchgegangen und glaube, dass alle relevanten Energiesparoptionen aktiviert sind, einschließlich CPU C-States (alle Stufen), Package C-State Control (gesetzt auf Auto/No Limit -> im BIOS konkret auf C10) und diverse ASPM-Einstellungen (für PCIe, DMI, etc.). Ich bin offen für Vorschläge zu spezifischen BIOS-Einstellungen, die ich für meine Plattform noch einmal überprüfen sollte.
  2. Kernel & System Energiemanagement:
    • PCIe ASPM Policy:Auf powersave gesetzt.
      • cat /sys/module/pcie_aspm/parameters/policy zeigt [powersave] als aktiv an.
    • powertop-Analyse:
      • Alle Vorschläge im Reiter "Tunables" (Optimierungsmöglichkeiten) sind auf "Gut" gesetzt.
      • Der Reiter "Idle stats" (Leerlaufstatistik) bestätigt, dass einzelne Kerne tiefe Zustände wie CC7 (~98-99% Verweildauer) erreichen.
      • "Idle stats" bestätigt auch, dass die Package C-States hauptsächlich in PC3 (~88-90%) sind, PC2 eine gewisse Verweildauer hat und PC6+ Zustände bei 0% liegen.
      • Der Reiter "Device stats" (Gerätestatistik) zeigt im Leerlauf generell geringe Aktivität für die meisten Geräte; Runtime PM (Laufzeit-Energieverwaltung) scheint für relevante Geräte aktiv zu sein.
      • Der Reiter "Overview" (Übersicht) zeigte eine gewisse Hintergrundaktivität von Prozessen wie rrdcached, php-fpm, monit, systemd-journald und Interrupts von rtw_pci (WLAN, falls aktiv), i915 (iGPU), nvme. Ich teste aktuell, indem einige dieser Dienste (monit, rrdcached) und WLAN temporär gestoppt/deaktiviert sind.
  3. Netzwerkkarte (Realtek 2.5GbE - enp3s0, Treiber r8125, PCI ID 0000:03:00.0):
    • Treiber: Auf die neueste Version von der Realtek-Webseite aktualisiert, die mit meinem Kernel kompatibel ist.
    • PCIe ASPM: LnkCtl zeigt ASPM L0s L1 Enabled.
    • L1 ASPM Substates (L1.1, L1.2): Bestätigt als aktiviert via lspci -vvv (L1SubCtl1: ... ASPM_L1.2+ ASPM_L1.1+) und cat /sys/bus/pci/devices/0000:03:00.0/link/l1_aspm (zeigt 1).
    • Energy-Efficient Ethernet (EEE): Aktuell zum Testen deaktiviert (sudo ethtool --set-eee enp3s0 eee off). Bisher hat dies das PC3-Limit nicht behoben.
  4. Integrierte GPU (Intel i915):
    • Render C-State: powertop zeigt RC6 mit 100% Verweildauer (exzellent).
    • Display C-States (enable_dc): cat /sys/module/i915/parameters/enable_dc zeigt -1 (auto/default, was gut sein sollte).
    • Framebuffer Compression (enable_fbc): cat /sys/module/i915/parameters/enable_fbc zeigt -1 (auto/default, gut).
  5. NVMe SSD (Sandisk Corp WD Blue SN570 - /dev/nvme0):
    • nvme-cli ist installiert.
    • Autonomous Power State Transition (APST): Bestätigt als aktiviert mit sudo nvme get-feature -f 0x0c -H /dev/nvme0.
    • Die SSD ist so konfiguriert, dass sie nach 100ms Leerlauf in PS3 und nach 2000ms Leerlauf in PS4 wechselt.
Aktuelle Situation:

Trotz all dieser Überprüfungen und Konfigurationen verharrt der Package C-State im Leerlauf hartnäckig bei PC3.

Meine Fragen an die Community:

  • Gibt es andere häufige Verursacher oder spezifische Kernel-Parameter, die ich untersuchen sollte, wenn man bei PC3 feststeckt?
  • Gibt es bekannte Probleme oder aggressivere Energiespareinstellungen für meine spezifische CPU/Mainboard-Plattform, die ich im BIOS übersehen haben könnte?
  • Was wäre der beste Weg, um weiter zu diagnostizieren, welche Komponente oder welcher Prozess den tieferen Package-Schlaf verhindert (angesichts dessen, dass powertop's Übersicht einige, aber minimale, Aktivität zeigt)?
Ich stelle gerne weitere Logs, Ausgaben (turbostat, spezifische dmesg-Zeilen, detaillierte lspci) oder powertop-Berichte zur Verfügung, falls benötigt.

Vielen Dank im Voraus für alle Einsichten oder Vorschläge!

Viele Grüße,

Tom


 

Anhänge

  • 1.png
    1.png
    229 KB · Aufrufe: 31
  • 2.png
    2.png
    85 KB · Aufrufe: 33
  • 3.png
    3.png
    176,3 KB · Aufrufe: 26
  • 4.png
    4.png
    232,9 KB · Aufrufe: 29
  • 5.png
    5.png
    14,8 KB · Aufrufe: 32
  • IMG_3077.jpg
    IMG_3077.jpg
    1,6 MB · Aufrufe: 31
  • IMG_3078.jpg
    IMG_3078.jpg
    2,5 MB · Aufrufe: 28
  • IMG_3079.jpg
    IMG_3079.jpg
    2,2 MB · Aufrufe: 21
  • IMG_3080.jpg
    IMG_3080.jpg
    2,5 MB · Aufrufe: 23
  • IMG_3081.jpg
    IMG_3081.jpg
    2,3 MB · Aufrufe: 18
  • IMG_3082.jpg
    IMG_3082.jpg
    2,4 MB · Aufrufe: 27
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Thomas126
Ich verweise mal quer in ein anderes Forum. Dort findest du auch die BIOS Einstellungen.
https://forums.unraid.net/topic/156160-gigabyte-b760m-ds3h-ddr4-verschiedene-messungen-werte/

einfach mal durchlesen ist wirklich gut.

Ich habe das Board auch und es war schon ein Kampf mit der Realtek NIC in C10 zu kommen. Da half nur die manuelle Installation des Treibers von Realtek direkt. Habe hier Proxmox mit 6.14er Kernel und einen i5-14400. Ich komme in C10 bei 10 LXC Container und OMV als VM.

Wenn alles stimmt, dann würde ich auf die M2 tippen. Ich habe extra eine Lexar genommen.
 
  • Gefällt mir
Reaktionen: Thomas126
Wenn alles stimmt, dann würde ich auf die M2 tippen. Ich habe extra eine Lexar genommen.
Den neusten Realtek Treiber habe ich manuell installiert. Hat zu keiner Besserung geführt. Für wie wahrscheinlich hälst du die Nvme für die Ursache? Hab keine Vorliegen und müsste eine neue kaufen...

Nimm dir eine livecd/usb mit aktueller Kernel und boot mal darein und schau ob es besser wird
Auch eine Gute Idee. Werde ich ausprobieren!
 
Ich hatte damals mal zum Test eine zusätzliche M2 von Sabrent eingebaut. Die hatte ich noch da und dachte ich kann diese verwenden. Schon ging es nicht mehr tiefer als C6.
Auch hatte ich, weil mir die Realtek zu fummlig war, eine I226-V eingebaut. Auch da ging es nicht tiefer als C3 und das obwohl überall ASPM aktiv war. Also ging diese wieder zurück. Zugegeben, es war keine originale Intel Karte, sondern eine von Amazon für knapp 30€.

Also in Summe finde ich das Thema ASPM / C State schon sehr empfindlich und mit viel Testaufwand verbunden. Deswegen schaue ich in allen möglichen Foren, welche Artikel getestet wurden um tief in die C States zu kommen.
 
Kommt es ja auch bei mir unter Proxmox. Nur die Vorrausetzungen müssen stimmen. Da kann eine Komponente (bspw. M2 SSD oder Netzwerkkarte) bereits reichen um nicht tiefer als CX zu kommen.

Wenn du super neugierig bist, dann tausche mal die M2 durch eine Lexar und stecke alles andere ab. Dann sollte es definitiv in Richtung C10 gehen. Somit weißt du auch ob es an der M2 liegt. Allgemein bin ich so vorgegangen, jede Komponente einzeln zu verbauen und zu testen, wie sich die C-States verhalten. Viel Aufwand aber der Basteltrieb hielt solange durch :)

Ansonsten einfach Strommessgerät dran und schauen wie der Verbrauch ist und überlegen, ob man damit leben kann. Zwischen C8 und C10 ist ja im Verbrauch kein enormer Unterschied. Bei C3 zu C6 bspw schon eher.

Ich kann dir nur mal ein Anhaltspunkt geben. Also wie geschrieben ca 10 LXC Container + 1VM mit OMV unter Proxmox 6.14er Kernel

i5-14400
1 * 32 GB 3200er RAM
156er Leicke Netzteil + 200W PicoPSU
1 * Samsung SSD als Cache
2 * 6TB WD Red Pro
1 * 14 TB WD Cap HC530

Verbrauch nach 30 Minuten nach dem Start liegt irgendwas zwischen 9-15W im Durchschnitt. Dabei sind alle 3,5" HDDs im Spindown. Wenn die Festplatten aktiv sind aber nicht arbeiten, dann sind wir ungefähr bei 30 W.

Gelegentlich zeigt meine Tasmota Dose (an dem das Netzteil) hängt, kleinere Peaks in Richtung 22W. Das könnte noch an dem einem Turbo im BIOS liegen, da bin ich mir aber nicht sicher. Gigabyte hat ja dafür zwei Einstellungen. Den normalen Turbo habe ich aus, aber diesen "Effizienz" Turbo habe ich wie im Forum beschrieben auch aktiviert. Ob beim deaktivieren, dann die Verbrauchskurve ruhiger wird, muss ich nochmal in Ruhe schauen.
 
Hmm also hab jetzt eine Lexar NM620 256 GB SSD verbaut. Leider weiterhin keine Höheren als C3 States. Bin auch nochmal durch das BIOS gegangen und hab alles so eingestellt wie in dem von dir verlinkten Post.

Habe jetzt zusätzlich mal probiert das System auf einem USB Stick zu installieren und die C States zu checken. Weiterhin nur C3.
 

Anhänge

  • 01.png
    01.png
    86,6 KB · Aufrufe: 5
Zuletzt bearbeitet:
Im Beitrag wurde explizit eine "Lexar NM790" erwähnt soweit mir bekannt. Diese verwende ich auch in meinem System (1TB).
Meinst du nur vom USB Gerät ohne M2? Auch USB Geräte haben bei mir zu Problemen geführt. Ein Zigbee Sonoff Gateway hat bei mir zu einem 10 Watt höheren Verbrauch geführt, weil es einen Bug bei Intel gibt. Siehe hier inkl. der Links zu Intel in den Beiträgen: https://github.com/Koenkk/zigbee2mqtt/issues/3140

Lösung für mich war einen Ethernet Zigbee Stick zu verwenden.
 
KillerPinockel schrieb:
Im Beitrag wurde explizit eine "Lexar NM790" erwähnt soweit mir bekannt. Diese verwende ich auch in meinem System (1TB).
Das stimmt. Leider gibt es die ja nur in recht großen Speicherkapazitäten.

Ich habe noch ein N100 von Asus hier. Dort läuft mit der Lexar NM620 das System in C10 States. Das müsste dann doch eigentlich ausschließen, dass die Nvme das verhindert. Oder ist das bei dem System anders zu bewerten?

Danke dir für deine Unterstützung!

@Tornhoof die Kernels habe ich auf die aktuellste Version 6.12.22 geupdated. Problem bleibt bestehen.
 
Thomas126 schrieb:
Ich habe noch ein N100 von Asus hier. Dort läuft mit der Lexar NM620 das System in C10 States. Das müsste dann doch eigentlich ausschließen, dass die Nvme das verhindert. Oder ist das bei dem System anders zu bewerten?

Könnte sein, so gut kenne ich mich da aber nicht aus.

Also wenn Mainboard und die M2 (welche C10 bei deinem N100 schafft) nicht in C10 kommt, dann könntest du nur nochmal den NIC / SATA Controller im BIOS deaktivieren und schauen ob das klappt.

Also MB + M2 (mit C10), alles andere raus (USB etc). BIOS => SATA / Network deaktivieren.
 
  • Gefällt mir
Reaktionen: Thomas126
Okay also noch ein Update. Mit der Festplatte und abgeschaltetem NIC komme ich auf C8 States! Endlich. Aber dann liegt es ja doch am NIC. Noch Ideen wie ich den NIC aktiviert dazu bringe, dass das system trotzdem in tiefere Schlafzustände geht?

Aktuellster Treiber von der Raeltek Seite wurde installiert.
 
Das ist ja schon mal ein Fortschritt. Ich habe die Realtek Treiber von der Seite gezogen und dann die "autorun.sh" ausgeführt. Andere Sachen habe ich nicht gemacht.

C8 ist zwar noch nicht C10 und warum der nicht tiefer geht erschließt sich mir nicht. BIOS F20 hast du drauf (also die neuste)? Die habe ich geflasht. Ansonsten habe ich nur noch einen etwas neueren Kernel (6.14)

Weiterhin kann ich dir sagen, dass ich heute den "Effizent Turbo" deaktiviert habe. Das bringt nochmal deutlich "geglättete" Watt Kurven. Ich vermute es wurde im Forum Beitrag im Unraid Forum nicht deaktiviert, weil dort ein Intel i3 ohne E Core genutzt wurde. Ich verstehe die Funktion im BIOS so, dass es zwei Turbos gibt. Einen für P Cores, welcher von mir deaktiviert wurde und einer für die E Core, welchen ich erst heute deaktiviert habe. Das wäre nochmal ein Tipp, für etwas weniger Verbrauch.

Auch zu erwähnen ist, dass der PCIe Modus auf x3 festgelegt wurde. Diese Einstellung wird gern übersehen.

Ansonsten kann man das auch so lassen. Ich erreiche zwar C10, da reden wir aber im Berech von niedrigen %-Anteil, weil in der Praxis hat der Server immer etwas zu tun und trödelt nicht permanent im C10 State :)
 
KillerPinockel schrieb:
Das ist ja schon mal ein Fortschritt. Ich habe die Realtek Treiber von der Seite gezogen und dann die "autorun.sh" ausgeführt. Andere Sachen habe ich nicht gemacht.
Genauso habe ich es auch gemacht.

ethtool -i enp3s0
driver: r8125
version: 9.015.00-NAPI
firmware-version:
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Und hab auch ein neueres Kernel installiert.

uname -a
Linux SYSTEM 6.12.22+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.22-1~bpo12+1 (2025-04-25) x86_64 GNU/Linux

PCIE steht auf x3, Effizienz Turbo habe ich auch ausgestellt. aber mit aktiviertem NIC will es nicht tiefer als C3. Wirklich zum wahnsinnig werden.

Du hast den Kernel (6.14) am laufen? Auch den r8125 in der Version 9.015.00-NAPI?
Selbst in der Testing Branch komme ich nicht höher als 6.12.
 
Zuletzt bearbeitet:
Thomas126 schrieb:
Du hast den Kernel (6.14) am laufen? Auch den r8125 in der Version 9.015.00-NAPI?
Selbst in der Testing Branch komme ich nicht höher als 6.12.

root@pve:~# uname -a
Linux pve 6.14.0-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.0-2 (2025-04-10T17:57Z) x86_64 GNU/Linux

root@pve:~# ethtool -i enp3s0
driver: r8125
version: 9.015.00-NAPI
firmware-version:
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
 
ist das dein kernel unter OMV/Debian? Linux pve 6.14.0-2-pve?

Wenn ja wie hast du den installiert?
 
Zurück
Oben