Microsoft bekämpft den Speicherhunger: Windows 11 wird flinker und sparsamer

HWL News Bot

News
Newsbot
Thread Starter
Mitglied seit
06.03.2017
Beiträge
125.504
Microsoft hat neue Details bekannt gegeben, mit denen der Konzern sein Betriebssystem Windows 11 wieder flott machen will. Dazu wird vor allem die Speicherverwaltung überarbeitet, damit das Betriebssystem auch auf Computern mit vergleichsweise wenig Arbeitsspeicher künftig flüssiger laufen kann. Insbesondere Geräte mit 8 GB RAM sollen von den Optimierungen profitieren. Nach Angaben von Windows-Chef Pavan Davuluri soll das System inzwischen bis zu 20 % schneller auf Eingaben reagieren und ein um bis zu 40 % beschleunigtes Multitasking ermöglichen. Die Werte stammen allerdings aus internen Messungen des Unternehmens.
... weiterlesen
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Kann man das als Eingeständnis werten, daß man bisher absichtlich so programmiert hat, daß immer mehr Ressourcen (hier RAM) benötigt wurden, um den Umsatz damit anzukurbeln?
 
Vieleicht sehe ich ja dann endlich mal meinen Mauszeiger beim bewegen. Wäre doch ein netter Move von Microsoft.
 
Zweifelhaft. Man muss nicht Bosheit unterstellen wenn auch Inkompetenz und Faulheit reicht.
"Never attribute to malice that which is adequately explained by stupidity." - Hanlon ist der natürliche Feind des Aluhuts...
 
Die Probleme sind alle hinreichend bekannt, sonst wüssten die Jungs von MS ja nicht, wo sie wonach suchen sollten. @Botcruscher bringt das recht gut auf den Punkt...
 
..bin mal gespannt, mit welcher bloat_App MS das dann über den "jetzt optimieren" Button lösen wird. Eine App mehr oder weniger macht bei der Pro den Braten eh net mehr fett.. :xmas:

ps: Natürlich muss man vorher erst einmal noch unten rechts den Haken bei der Schnüffeltool Einwilligung setzen, sonst ist nix mit Optimierungskreisel..
 
Naja, ein Großteil des Speicherhungers wird wohl durch moderne Programmiertechniken mit Bibliotheken, Frameworks, etc. verursacht.
Die machen zwar das Programmieren z.T. deutlich leichter, aber sorgen auch dafür, das fertige Programme viel Ballast mit sich herumschleppen.
Beispielsweise wenn ein Programm nur eine Funktion aus einem Framework braucht, wird das halbe Framework geladen. Würde man die Funktion direkt programmieren anstatt auf das Framework zurückzugreifen, würde das Programm erheblich weniger RAM brauchen und auch schneller sein.
 
Na, da bin ich gespannt was alles so entschlackt wird und ob die "bis zu" Mehrleistung auch erreicht werden. Es gibt unterschiedlichste Systemzusammenstellungen. Dann stellt sich mir auch die Frage, ob manche Sekundärprogramme danach Zicken machen könnten und Updates benötigen. Drücke jedenfalls die Daumen, mit dem System komme ich gut zurecht. In dem Zuge wäre auch ein Ziel, die vielen Hot-Updates für Sicherheitslücken durch mehr Systemsicherheit effektiv zu reduzieren und das "nach Hause" telefonieren mit einem Klick oder Schieberegler auch wirklich unterbunden werden kann. :d
 
Mein Lieblingsbeispiel ist der Edge Browser.
Microsoft hat dem schon vor einiger Zeit einen Preload verpasst, damit der auch immer schnell startet.
Saugt also mit mehreren Prozessen, obwohl nicht gestartet, an Systemressourcen.
Schaltet man das ab, isses trotzdem da.

Früher (tm) war es wichtig sparsam und durchdacht zu programmieren.
 
Toll, bitte weiter so und ganz nach dem Motto: 640KB of memory "ought to be enough for anybody."
 
Früher (tm) war es wichtig sparsam und durchdacht zu programmieren.

Nicht umsonst nennen viele Windows XP und 7 als die besten Windows aller Zeiten.
Da war auch nicht alles Gold was glänzt, so ehrlich muss man sein, aber man war schlank und performant bei vernünftiger Stabilität unterwegs.
 
Früher (tm) war es wichtig sparsam und durchdacht zu programmieren.
So ist es.
RAM und HDD-Platz war knapp und teuer.
Meine Aufgabe bei einem ehemaligen Arbeitgeber war jahrelang die Optimierung von Code, den Kollegen geschrieben haben.
Und ohne Ausnahme war da immer mindestens 20-30% weniger Speicherplatz und schnellere Programmausführung drin.
Damals gabs so etwas wie Frameworks, Bibliotheken, etc. noch gar nicht und objektorientierte Programmierung war der allerneueste Kram.
Wenn man das mal rekapuituliert, dann müsste heute das Potential durch Codeoptimierung gigantisch sein.

50% sollten da locker drin sein.
 
Mein Lieblingsbeispiel ist der Edge Browser.
...
Schaltet man das ab, isses trotzdem da.
..bekommst aber abgeschaltet.

ps.png

# 1. Automatisches Setzen des Soll-Zustands für die neuen Telemetrie-/Diagnosedienste
$NewTelemetrie = @('diagsvc', 'WdiSystemHost', 'WdiServiceHost', 'WerSvc')
foreach ($Service in $NewTelemetrie) {
if (Get-Service -Name $Service -ErrorAction SilentlyContinue) {
Stop-Service -Name $Service -Force -ErrorAction SilentlyContinue
Set-Service -Name $Service -StartupType Disabled -ErrorAction SilentlyContinue
}
}

# 2. Das Mapping-Verzeichnis (Hash-Table) für alle Anzeigenamen
$d = @{
'WinDefend'='Windows Defender Virenscanner (Hauptdienst)';
'Sense'='IoT Enterprise LTSC2024 Bedrohungsschutz-Erweiterung';
'WdNisSvc'='Windows Defender Netzwerkinspektions-Filter';
'MdCoreSvc'='Windows Defender Kern-Isolationsprozess';
'SecurityHealthService'='Windows11 GUI (Windows-Sicherheit)';
'wscsvc'='Windows11 Sicherheitszentrum (Meldebrücke für ESET)';
'WdBoot'='Windows Defender ELAM Start-Treiber';
'WdFilter'='Windows Defender Dateisystem-Minifiltertreiber';
'WdNisDrv'='Windows Defender Netzwerkinspektions-Systemtreiber';
'webthreatdefsvc'='Windows Defender-Dienst für Webbedrohungen';
'DiagTrack'='Microsoft Haupt-Telemetriedatensammler';
'diagsvc'='Diagnoseausführungsdienst';
'WdiSystemHost'='Diagnosesystem-Host';
'WdiServiceHost'='Diagnosedienst-Host';
'WerSvc'='Windows-Fehlerberichterstattung';
'edgeupdate'='Edge-Browser Haupt-Update-Dienst';
'edgeupdatem'='Edge-Browser Manueller Update-Dienst';
'MicrosoftEdgeElevationService'='Edge Rechteaushebelungs-Dienst';
'PushToInstall'='Windows-Store Cloud-Push-Dienst';
'XblAuthManager'='Xbox Live Authentifizierungs-Manager';
'XblGameSave'='Xbox Live Spielstand-Synchronisation';
'XboxGipSvc'='Xbox Peripheriegeräte-Treiberdienst';
'XboxNetApiSvc'='Xbox Live Netzwerk-Schnittstelle'
};

Clear-Host;
Write-Host "==============================================================================" -ForegroundColor Cyan;
Write-Host "";

# KATEGORIE 1: DEFENDER DIENSTE
Write-Host "=== DEFENDER DIENSTE (Soll: 9 DISABLED / 1 STOPPED / 1 RUNNING) ===" -ForegroundColor Yellow;
@('WinDefend', 'MdCoreSvc', 'WdNisSvc', 'WdBoot', 'WdFilter', 'WdNisDrv', 'webthreatdefsvc', 'Sense', 'SecurityHealthService', 'wscsvc') | Get-Service -ErrorAction SilentlyContinue | Select-Object @{N='Name';E={$_.Name.PadRight(30)}}, @{N='Status';E={$_.Status.ToString().PadRight(12)}}, @{N='StartType';E={$_.StartType.ToString().PadRight(20)}}, @{N='Beschreibung';E={$d[$_.Name]}} | Format-Table -HideTableHeaders;

# KATEGORIE 2: XBOX / EDGE DIENSTE
Write-Host "=== XBOX / EDGE DIENSTE (Soll: ALL DISABLED / STOPPED) ===" -ForegroundColor Yellow;
@('edgeupdate', 'edgeupdatem', 'MicrosoftEdgeElevationService', 'PushToInstall', 'XblAuthManager', 'XblGameSave', 'XboxGipSvc', 'XboxNetApiSvc') | Get-Service -ErrorAction SilentlyContinue | Select-Object @{N='Name';E={$_.Name.PadRight(30)}}, @{N='Status';E={$_.Status.ToString().PadRight(12)}}, @{N='StartType';E={$_.StartType.ToString().PadRight(20)}}, @{N='Beschreibung';E={$d[$_.Name]}} | Format-Table -HideTableHeaders;

# KATEGORIE 3: SONSTIGE TELEMETRIEDIENSTE
Write-Host "=== SONSTIGE TELEMETRIEDIENSTE (Soll: ALL DISABLED / STOPPED) ===" -ForegroundColor Yellow;
@('DiagTrack', 'diagsvc', 'WdiSystemHost', 'WdiServiceHost', 'WerSvc') | Get-Service -ErrorAction SilentlyContinue | Select-Object @{N='Name';E={$_.Name.PadRight(30)}}, @{N='Status';E={$_.Status.ToString().PadRight(12)}}, @{N='StartType';E={$_.StartType.ToString().PadRight(20)}}, @{N='Beschreibung';E={$d[$_.Name]}} | Format-Table -HideTableHeaders;

Write-Host "==============================================================================" -ForegroundColor Cyan;

CMD (Admin Mode) Edge-Browser Haupt-Update-Dienst deaktivieren:
sc config edgeupdate start= disabled
sc stop edgeupdate

CMD (Admin Mode) Edge-Browser Manueller Update-Dienst deaktivieren:
sc config edgeupdatem start= disabled
sc stop edgeupdatem

CMD (Admin Mode) Edge Rechteaushebelungs-Dienst:
sc config MicrosoftEdgeElevationService start= disabled
sc stop MicrosoftEdgeElevationService

..damit Windows über Updates bzw. im nachhinein nicht wieder reaktiviert hardcut via Gruppenrichtlinie erzwingen - legt Edge komplett flach:
1.) Lokale Sicherheitsrichtlinien öffnen: Win+R -> "secpol.msc" eintippen
2.) In der Liste "Richtlinien für Softwareeinschränkung" aufklappen, bei "Zusätzliche Regeln" rechts im Feld über Rechtsklick "Neue Pfadregel" anlegen.
3.) Bei der neuen Pfadregel unter Pfad "C:\Program Files (x86)\Microsoft\EdgeUpdate\" eingeben, darunter bei Sicherheitsstufe "Nicht erlaubt" und mit OK übernehmen.
sicherheit.png
 
Zuletzt bearbeitet:
Wenns so einfach wäre. Du löschst damit nur das Frontend, also den Browser.
Die Update Dienste verbleiben immer tief im System. Macht MS absichtlich so, weil viele WinApps Edge WebView2 nutzen um darüber Web Inhalte einzublenden.
Die Schatten Installer und dazugehörigen Sheduled Tasks bleiben auch tief im System aktiv, darüber werden dann über die mtl. Updates (WU) der Edge voila wieder nachinstalliert.

..viele denken ja auch, der Defender sei inaktiv wenn man nur wo 2-3 Schalterchen umlegt und MS dann zeigt, der Defender sei nun aus. :)

ps: Kann jeder gerne prüfen. Edge deinstallieren und dann mal unter: "C:\Program Files (x86)\Microsoft\" schauen. Da werden u.a. noch "EdgeUpdate", "EdgeCore" und "EdgeWebView" aktiv sein.
Der allseits bekannte Edge Zombieeffekt. Früher oder später ist das Tool dann halt wieder ungefragt da. Man sollte auch nicht versuchen diese Ordner/Dateien zu löschen (was eh nicht so ohne weiteres funktioniert), sondern lieber deren Dienste deaktivieren. Denn wenn man das versucht, wird Windows die mit den default Settings nachinstallieren, also aktiv. Belässt man die Dateien deaktiviert in den Ordnern, "denkt" Windows, alles ist ok.
Es gibt zwar, aufgrund des EU Urteiles (Digital Markets Act/DMA) zur Wahlfreiheit des Browsers die Möglichkeit der Deinstallation des Browsers (Frontend), dies zwingt aber MS nicht dazu die tiefe Systeminfrastruktur und die Update Dienste zu entfernen. Dazu zählen dann u.a. auch halt auch die EdgeView Runtimes. Also besser ist es, man belässt das auf den Rechner und knippt es an der Wurzel ab. Ergo MS Tools mit MS Mittel austricksen.

pps: Dazu kommt, dass diese vielen kleinen lustig MS Helferlein unendlich viele Threads aktivieren. Ein frisch installiertes W11 Pro hat aktiv ca. an die 300 Prozesse und ca. 5000~6000 Threads am werkeln, eine Enterprise ca. 120 Prozesse und ca. 2500 Threads. Aber auch das kann man noch optimieren:

ps.png

Enterprise Nutzer berichten nicht umsonst, dass sie nach Umstieg von der Pro zur Enterprise plötzlich das Gefühl haben, alles läuft nun geschmeidiger.
Das ist halt nicht nur ein Gefühl, sondern lässt sich schwarz auf weiss auslesen. Was nicht läuft, kann das System nicht belasten, muss man nicht mit imaginären Speicherspartricks versuchen zu beheben. ;)

Wer es mal selbst prüfen möchte, hier das PS Script:
$Prozesse = Get-Process
$TotalThreads = 0
foreach ($p in $Prozesse) { $TotalThreads += $p.Threads.Count }

Clear-Host
Write-Host "====================================================" -ForegroundColor Cyan
Write-Host " AKTUELLE SYSTEM-AUSLASTUNG (LIVE) " -ForegroundColor Cyan
Write-Host "====================================================" -ForegroundColor Cyan
Write-Host ""
Write-Host " Aktive Prozesse gesamt : " -NoNewline; Write-Host $Prozesse.Count -ForegroundColor Yellow
Write-Host " Aktive Threads gesamt : " -NoNewline; Write-Host $TotalThreads -ForegroundColor Yellow
Write-Host ""
Write-Host "====================================================" -ForegroundColor Cyan

..oder halt im TM unter CPU schauen:
tm.png
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh