Freigeben über


Bereitstellen von Benutzerfreundlichkeit trotz unzureichenden Arbeitsspeichers

Der verfügbare Arbeitsspeicher hat einen erheblichen Einfluss auf das Benutzererlebnis insgesamt, angefangen bei der allgemeinen Reaktionsfähigkeit des Systems, der Reaktionsfähigkeit beim Wechsel zwischen Apps im Microsoft Store-Stil bis hin zur Akkulaufzeit. All dies sind wichtige Faktoren, die bei der Bewertung der Benutzerfreundlichkeit bei geringem Arbeitsspeicher berücksichtigt werden müssen. (Als geringer Arbeitsspeicher gilt 1 GB RAM unter 32-Bit-Windows und 2 GB RAM unter 64-Bit-Windows.)

Überlegungen

Es gibt verschiedene Aspekte, die OEMs (Original Equipment Manufacturer) sowie unabhängige Hardware- und Softwarehersteller (IHVs/ISVs) berücksichtigen beachten müssen, wenn sie ein Gerät mit geringem Arbeitsspeicher einsetzen möchten.

Treiber und Apps

Baseline für den Gesamtarbeitsspeicherbedarf

Ein typisches 32-Bit-Windows-Image für den Einzelhandel belegt nach dem Start etwa 400 MB Arbeitsspeicher (gemessen anhand der Speicherbedarfsbewertung im ADK). Bei einem Spielraum von 10 % bzw. 100 MB bei 1 GB gesamt verbleibt genügend Speicher für 2–3 Apps im physischen Speicher, wodurch ein schneller Wechsel zwischen den Apps ermöglicht wird. Je größer der Speicherbedarf des Basisbetriebssystems ist, desto weniger Arbeitsspeicher steht für den Benutzer und die Apps zur Verfügung.

Wichtige Faktoren, die sich auf die Baseline für den Arbeitsspeicherbedarf des Betriebssystems auswirken, sind Treiber und vorab geladene Software, darunter Antischadsoftware, Gerätedesktop-Apps und Softwareupdater.

  • Speicherbedarf für Treiber: Dies schließt den Treibercode und die damit verbundene Speicherbelegung ein. Da die meisten Treiber immer im Arbeitsspeicher vorhanden sind, ist nicht auslagerungsfähiger Speicher (d. h. Inhalte, die im physischen Speicher verbleiben müssen und nicht ausgelagert werden können) äußerst wichtig, da er während der gesamten Systemlebensdauer feste Kosten in Bezug auf die Arbeitsspeichernutzung verursacht. Die aktuellen Hardwarezertifizierungsanforderungen decken nicht auslagerungsfähige Speicherbelegungen ab: MDL/zusammenhängende Speicherbelegungen, nicht ausgelagerter Treibercode und Nicht-Auslagerungspool pro Treiber. Weitere Informationen finden Sie unter Device.DevFund.Memory.DriverFootprint.

  • Hardwarespeicherreservierung: Dazu gehören sogenannte "Carve-Outs", mit denen die Menge des für das Betriebssystem sichtbaren Speichers reduziert wird, der Windows zur Verfügung steht. Dies ist im Zusammenhang mit Geräten mit geringem Arbeitsspeicher äußerst wichtig. Die aktuellen Hardwarezertifizierungsanforderungen sehen Budgets für verschiedene RAM-Konfigurationen vor: System.Fundamentals.Firmware.HardwareMemoryReservation.

  • Vorab geladene Software und Antischadsoftware: Dazu gehören Dienste/zusätzliche Prozesse, die beim Systemboot gestartet werden und während der gesamten Dauer einer Sitzung aktiv bleiben. Der Satz an vorab geladener Software, die bei der Inbetriebnahme Prozesse auslöst, muss sorgfältig überlegt und budgetiert werden.

Aus Sicht des Betriebssystems wurden verschiedene Verbesserungen vorgenommen, um den Arbeitsspeicherbedarf von Windows zur Laufzeit zu verringern und den Benutzern und ihren Apps mehr Arbeitsspeicher zur Verfügung zu stellen. Es muss sichergestellt werden, dass OEMs, IHVs, ISVs sowie Microsoft-Partner den Arbeitsspeicherbedarf in jedem dieser Bereiche verbessern und die Geräte mit Bedacht konfigurieren, um ein optimales Kundenerlebnis zu gewährleisten.

Speicher

Datenträgerleistung

In einer Konfiguration mit wenig Arbeitsspeicher ist Windows auf das Auslagern von Inhalten aus dem Arbeitsspeicher angewiesen, wodurch die Leistung des zugrunde liegenden Datenträgers entscheidend für ein reibungsloses und reaktionsschnelles Benutzererlebnis ist. Die Anforderungen für die Hardwarezertifizierung bieten Anhaltspunkte zu den wichtigsten Leistungsmetriken für Speicher auf Geräten mit verbundenem Standbymodus. Weitere Informationen finden Sie unter Device.Storage-Anforderungen.

Windows verfügt über Mechanismen, um die Arbeitsspeichernutzung von angehaltenen Microsoft Store-Apps zu reduzieren und die Apps über eine wirksame sequenzielle Festplatten-E/A fortzusetzen. Nehmen wir zum Beispiel eine 120-MB-App, die beim Fortsetzen von der Festplatte gelesen werden muss. Ein Datenträger mit einer sequenziellen Leseleistung von 60 MB/s benötigt 2 Sekunden, um diese App von der Festplatte zu lesen, während ein Datenträger mit 120 MB/s nur 1 Sekunde braucht, um den Inhalt in den Speicher zu übertragen. eMMC- und SSD-Speicher bieten sequenzielle Leseraten von ca. 120–150 MB/s, während typische Rotationsdatenträger Geschwindigkeiten von ca. 50 MB/s bieten. Die Laufzeitrichtlinien in Windows gehen je nach Speicherleistung und Datenträgergeschwindigkeit (z. B. HDD und HHDD) Kompromisse ein, wodurch potenziell das Umschalten zwischen Apps bzw. das Multitasking verlangsamt und die Anzahl der Anwendungsabbrüche erhöht wird.

Datenträgerdauerhaftigkeit

Die Dauerhaftigkeit oder Lebensdauer von nicht rotierenden Speichermedien wie SSDs und eMMC-Datenträgern ist proportional zur Gesamtdatenmenge, die auf das Gerät geschrieben wird, sowie zu verschiedenen weiteren Faktoren, darunter Workload und Ausrichtung der Schreibvorgänge. Bei einem 1-GB-Gerät werden angesichts der begrenzten Arbeitsspeichermenge mehr Daten in den Speicher geschrieben, was bei der Auswahl von Bauteilen ein wichtiger Faktor ist.

Die Lebensdauer eines Datenträgers variiert je nach Hersteller erheblich (Auswahl der Blockgröße, Art des Flashspeichers usw.), derzeit gibt es keine standardisierten Methoden zur Messung der Lebensdauer. Es wird empfohlen, dass Partner die Dauerhaftigkeit der Datenträger auswerten, bevor sie sich für ein Gerät entscheiden.

Wichtig

Die folgende Tabelle enthält Ziele für Systeme, auf denen 32-Bit-Windows ausgeführt wird. Die Hinweise zur Speicherleistung gelten für das Startspeichermedium, wobei der niedrigere Wert von 2 % oder 1 GB freiem Datenträgerspeicherplatz getestet wird.

Kategorie Metrik Ziele
Baseline für den Arbeitsspeicherbedarf Systemebene

   Treiber im nicht ausgelagerten Code

< 20 MB

   Nicht ausgelagerter Speicher für Treiber

< 30 MB

   Hardwarespeicherreservierung

< 130 MB

   Aktive private Seiten gesamt für Apps, Dienste, Tasks beim Start

< 40 MB
Pro Treiber (nicht ausgelagerter Speicher)
   Gesperrte/zusammenhängende Speicherbelegung für Treiber 12 MB für alle Treibertypen
   Nicht ausgelagerter Speicher

<= 6 MB für GPU-Treiber

<= 4 MB für andere Treiber

   Nicht ausgelagerter Treibercode <= 10 MB für GPU-Treiber, <= 1,66 MB für andere Treiber
Arbeitsspeicherbedarf für Apps beim Start Anwendungen, Dienste und Tasks beim Start (einschließlich Antischadsoftware) < 40 MB
Datenträgerleistung Zufällige Leistung

   4 KB Schreib-IOPS, gemessen über einen 1-GB-Bereich

>= 200 IOPS

   4 KB Schreib-IOPS, gemessen über einen 10-GB-Bereich

>= 50 IOPS

   64 KB Schreib-IOPS, gemessen über einen 1-GB-Bereich

>= 25 IOPS

   4 KB Lese-IOPS, gemessen über einen 10-GB-Bereich

>= 2.000 IOPS

   4 KB Lese-/Schreib-IOPS im Verhältnis 2:1, gemessen über einen 1-GB-Bereich

>= 500 IOPS

   4 KB Lese-/Schreib-IOPS im Verhältnis 2:1, gemessen über einen 10-GB-Bereich

>= 140 IOPS
Sequenzielle Leistung

   Schreibgeschwindigkeit (64 KB pro E/A-Vorgang), gemessen über einen 10-GB-Bereich

>= 40 MB/s

   Schreibgeschwindigkeit (1 MB pro E/A-Vorgang), gemessen über einen 10-GB-Bereich

>= 40 MB/s

   Lesegeschwindigkeit (64 KB pro E/A-Vorgang), gemessen über einen 10-GB-Bereich

>= 60 MB/s (120 MB/s)
Geräte-E/A-Latenz

   Maximale Latenz

< 500 Millisekunden
Datenträgerdauerhaftigkeit Lebensdauer >= 2–3 Jahre

Messen des Arbeitsspeichers mit dem Windows Assessment and Deployment Kit (ADK)

Im Vergleich zu einem handelsüblichen Betriebssystemimage bietet die Speicherbedarfsbewertung im ADK eine quantitative Bewertung des Baseline-Arbeitsspeicherbedarfs für verschiedene Konfigurationen.

  • Anleitung zum Ausführen der Bewertung des Arbeitsspeicherbedarfs und zum Erfassen von Daten: Speicherbedarf.

  • Grundlegendes zu den Ergebnissen: Zieldatei

Anleitungen

Für Originalgerätehersteller (OEMs)

OEMs haben einen erheblichen Einfluss auf die Auswahl der Hardware/Treiber und der vorab geladenen Software, was sich direkt auf den Speicherbedarf des Systems auswirkt:

  • Vor der Bereitstellung sollten Sie die Auswirkungen von Treibern und Software, die Sie zusätzlich zu einem neuen Image installieren, verstehen und quantifizieren und sicherstellen, dass sie innerhalb der zuvor beschriebenen empfohlenen Ziele liegen:

    • Verringern Sie den Speicherbedarf für Treiber, indem Sie die Anzahl der Treiber verringern oder Hardware/Treiber auswählen, die weniger Arbeitsspeicher benötigen.

    • Verringern Sie die Anzahl der standardmäßig immer ausgeführten Startprozesse (die durch vorab geladene Software und Antischadsoftware eingeführt werden), und geben Sie den Verbrauchern bei Bedarf Hinweise zur Aktivierung bestimmter Anwendungen oder Funktionen.

  • Ziehen Sie die Verwendung eines anderen Treibers oder Softwareanbieters in Betracht, der eine gleichwertige Funktionalität mit geringeren Auswirkungen auf den Systemspeicher bereitstellen kann.

  • Erkundigen Sie sich bei Ihren Treiber- und Softwareanbietern nach den neuesten Versionen ihrer Software. Geben Sie Ihren Partner außerdem Feedback zu bestimmten Treibern oder Softwareprogrammen, deren Arbeitsspeicherverbrauch über den empfohlenen Werten liegt, und stellen Sie ihnen Ablaufverfolgungsdateien und Protokolle aus dem Bewertungs-Toolkit zur Verfügung.

Für IHVs/ISVs

Unabhängige Hardwareanbieter (IHVs), die speichereffiziente Treiber liefern können, ermöglichen es OEMs, 1-GB-Systeme zu konzipieren, die dem Verbraucher ein hervorragendes Benutzererlebnis bieten:

  • Vergewissern Sie sich, dass die Hardwarekomponenten die zuvor beschriebenen Zertifizierungsanforderungen erfüllen (insbesondere nicht auslagerungsfähiger Speicher für Treiber, Leistung für Speicherhardware und Speichernutzung von immer ausgeführten Apps für Anwendungen).

  • Sorgen Sie für eine effiziente Arbeitsspeichernutzung nach dem Prinzip „Pay for Play“, indem Sie Funktionen nur bei Bedarf aktivieren:

    • Vermeiden Sie es, Treiber zur Unterstützung von Funktionen zu konfigurieren, die nur für 1-GB-Systeme benötigt werden (erstellen Sie z. B. plattformspezifische Treiberpakete, die die Hardware erkennen und den entsprechenden Code laden).

    • Minimieren Sie die Laufzeitkosten, indem Sie bei Bedarf nur den minimal erforderlichen Speicher zuweisen und ihn nach Abschluss der Arbeiten wieder freigeben (z. B. sind Puffer für die Unterstützung von RAID-Speicher nicht erforderlich – es sei denn, der Benutzer konfiguriert dies ausdrücklich).

  • Nutzung von Tools zum Verständnis und zur Verbesserung des Arbeitsspeicherbedarfs. Der folgende Vortrag beschreibt den Ansatz zum Verringern des Speicherplatzbedarfs und die verfügbaren Tools: Reduzieren des Speicherbedarfs von Treibern und Apps.

Für ISVs, die Antischadsoftware bereitstellen

Antischadsoftware kann sich erheblich auf den Arbeitsspeicherbedarf des Betriebssystems und die Benutzerfreundlichkeit auswirken, wenn sie nicht im Hinblick auf die Leistung optimiert ist:

  • Stellen Sie sicher, dass die Anzahl und der Speicherbedarf von immer ausgeführten Diensten und Prozessen so gering wie möglich ist. Beispiel:

    • Idealerweise sollten Sie nur einen Prozess/Dienst für die Echtzeitüberprüfung ausführen.

    • Andere Prozesse zur Aktualisierung von Antivirendefinitionen, wie z. B. die Anzeige der Benutzeroberfläche für den Benutzer, sollten nur bei Bedarf als Reaktion auf Benutzereingaben oder Benachrichtigungen erstellt werden und nach Abschluss der Vorgänge beendet werden.

  • Effiziente Speichernutzung für immer ausgeführte Prozesse:

    • Pflegen Sie eine Datenstruktur zur Darstellung von Signaturen und laden Sie bestimmte Teile nur bei Bedarf.

    • Die Benutzeroberfläche sollte nur auf ausdrücklichen Wunsch des Benutzers gestartet werden (z. B. Popups, die sich sofort nach dem Hochfahren öffnen).

  • Windows stellt für die Leistungsoptimierung einen Kernsatz von Windows-APIs und die zugehörige Dokumentation bereit:

    • Optimieren Sie das Laden und die Verwaltung von Signaturen durch den Einsatz von Komprimierung: Xpress-Komprimierung.

    • Verwalten Sie einen Cache für bereits überprüfte Dateien, um den Arbeitsaufwand zu minimieren.

    • Verwenden Sie niedrige CPU-/Datenträger- und Arbeitsspeicherprioritäten, um die Auswirkungen zu minimieren. Beispiel:

  • Konzentrieren Sie sich auf den Arbeitsspeicherbedarf im Leerlauf, um sicherzustellen, dass der Bedarf an Arbeitsspeicher sowohl im Leerlauf als auch bei vollständigen Systemüberprüfungen und Echtzeitüberprüfungen < 15 MB liegt. Auf diese Weise wird der Arbeitsspeicherbedarf in diesen Szenarien so weit wie möglich reduziert.

Überprüfen

Um die Arbeitsspeichernutzung durch Prozesse und Treiber zu bewerten und zu bestätigen, verwenden Sie die Speicherbedarfsbewertung im ADK. Nachdem die Bewertung durchgeführt wurde, öffnen Sie den Bericht in der WAC (Windows Assessment Console) und extrahieren die relevanten Metriken mithilfe der folgenden Anweisungen.

Systemebene

Sie finden die systemweiten Speichermetriken im Bewertungsbericht. Der folgende Screenshot zeigt die Metriken Insgesamt genutzter Arbeitsspeicher, Treiber im nicht ausgelagerten Code und Speicherbelegung.

In WAC (Windows Assessment Console) angezeigter Speicherbedarf

Pro Treiber

Nicht ausgelagerter Code

Um den spezifischen nicht ausgelagerten Code einzelner Treiber zu ermitteln, erweitern Sie die Metrik Treiber im nicht ausgelagerten Code.

In WAC (Windows Assessment Console) angezeigte Arbeitsspeichernutzung durch Treiber im nicht ausgelagerten Code

Nicht ausgelagerter Speicher

Um den spezifischen nicht ausgelagerten Speicher einzelner Treiber zu ermitteln, erweitern Sie die Metrik Nicht ausgelagerter Speicher für Treiber und wählen Gruppieren nach –> (Keine) aus.

In WAC (Windows Assessment Console) angezeigter nicht ausgelagerter Speicher für Treiber

Pro Prozess

Um die Anzahl der aktiven privaten Seiten einzelner Prozesse (Anwendungen, Dienste oder Tasks) auf dem System zu ermitteln, erweitern Sie die Metrik Private Seiten für Prozesse, und wählen Sie die untergeordnete Metrik Aktiv aus.

Im folgenden Screenshot belegt Microsoft Defender (Prozess „MsMpEng.exe“) über seinen privaten Arbeitssatz 14,9 MB Arbeitsspeicher.

Um zu bestätigen, dass das 40-MB-Ziel für Startanwendungen, -dienste und -tasks erreicht wird, identifizieren Sie in dieser Liste jeden Prozess, der mit vorab geladener Software verbunden ist, und berechnen Sie die Summe.

In WAC (Windows Assessment Console) angezeigte aktive private Seiten von Prozessen