Windows 8 Memory Management

Since Windows 8, there are now two Swapfiles: pagefile.sys and swapfile.sys.

pagefile.sys

Until today, this file was at least as big as your physical memory. Per default, windows sized this file like RAM*1.5. This also was to reserve enough space for the per default enabled kernel memory dump (system properties -> advanced -> startup and recovery).

On Windows 8 there’s a new option to configure the memory dump called “automatic memory dump”. Automatic means if there’s enough space at the moment of the crash, it’ll do a full dump; if not, Windows just writes a small dump.

Source: http://social.technet.microsoft.com/Forums/en-US/W8ITProPreRel/thread/6666c3ff-c770-4e47-a4c3-707d85793c9a

swapfile.sys

Source: http://www.windowsitpro.com/article/windows8/swapfilesys-143522

swapfile.sys is a system controller file, normally around 256MB. It’s used by Metro style applications that don’t fit the traditional paging characteristics (such as usage pattern, growth, space reservation) of pagefile.sys. One example of swapfile.sys usage is the suspend/resume of Metro-style applications; however, this is not the only use.

You’ll find more detailed technical description here:
http://blogs.technet.com/b/askperf/archive/2012/10/28/windows-8-windows-server-2012-the-new-swap-file.aspx

About hiberfil.sys

This file was as huge as the total amount of RAM installed in your computer. Now it will be sized for 75% of the physical memory but only has 10-15% of that size of data in it. That’s because of two main things: (1) the traditional desktop only gets loaded after a user explicitly needs it. This reduces the Memory usage of the Kernel. And (2) Windows Quick-Boot (“clean slate”) closes User sessions before shutting the computer down.

To change the size of hiberfil.sys use this command:

powercfg /hibernate /size

To “full”-shutdown the computer:

shutdown /s /full /t 0

Memory Deduplication

As explained in the MSDN Blog for Windows 8, the MS developers implemented a background job that searches for memory of Applications, that is allocated for future use and initialized with all the same value. As they noticed, applications may never actually use this memory because it’s there waiting to be used for a function that maybe never gets invoked. So if multiple applications are doing this, there’s redundant memory.

The technique’s called “Memory combining” and is already known on ESX servers where redundant copies of memory are combined once to save physical memory. VMware calls it “shared memory”. As soon as the only copy of memory gets modifies by an application, the modified data gets a private copy of it. As written in the Blog: “All of this happens under the covers in the memory manager, with no impact on applications.”

Source: http://blogs.msdn.com/b/b8/archive/2011/10/07/reducing-runtime-memory-in-windows-8.aspx

Other ways to reduce memory consumption

There’s a new Startup Mode for Windows Services called “start on demand”. Those services only get started if they’re triggered by the OS. An example for this could be a newly plugged in USB device.

Windows Server 8 (2012) Neuerungen im Überblick

Microsoft holt technisch mit verschiedenen Neuerungen auf:

  • Die neue Metro Oberfläche, welche man von den Windows Phone 7 Handys kennt, mit den Apps, die Apple schon lange benutzt.
  • Im Storage Bereich, die Deduplizierung, ersetzen von ACL’s durch Tags, NFS statt SMB. Alles schon lange von Dritten umgesetzt, nun auch im Server 8 integriert.

Und ganz Cool: Alles soll nun über die PowerShell laufen ! Die Ära der klick-and-Play Admins geht zu Ende!

Alle Neuerungen

Windows Oberfläche
die neue Metro Oberfläche kommt auch beim Server
Server Core wird Standard, GUI als Feature installierbar
alle Verwaltungstools sprechen im Hintergrund PowerShell
Verwaltungstools können alle Remote eingesetzt werden
PowerShell Befehle werden jeweils im GUI mit angezeigt

Storage unter Server 8
verwaltung vieler Festplatten als Pools
erstellen von virtuellen Volumes, Thin Provisioning
SAN Command Offloading
dynamische Platten haben ausgedient

NTFS File System
unterstützung von Deduplizierung
Dynamic Access Control ersetzt die ACLs, neu werden Files getagged
chkdsk während dem Betrieb ohne Ausfall

DNS Server
unterstützt DNSSec
Zerfitikate werden automatisch aktualisiert

DHCP Server
kann redundant ausgelegt werden
neu: IP Adressmanagement
import aus Exceltabelle

SMB File Server
verbessertes SMB für höhere Last
schneller Übertragungen durch mehrere TCP Verbindungen
moderner NFS 4.1 Server inklusive

Server 8 ist übrigens über MSDN als Pre-Beta erhältlich.

Quellen:

AD 2008 Password Setting Objects

Nach einiger Internet Recherche habe ich herausgefunden wie man die neuen Password Policies im Active Directory ab Version 2008 einsetzt. Gar nicht so einfach…

Bereits vorhandene PSO anzeigen

Wenn bereits eine PSO erstellt wurde ist sie unter folgendem Pfad abgelegt. Dieser ist nur zu sehen wenn die Advanced Features im View Menü aktiviert sind.

CN=Password Settings Container,CN=System,DC=Domäne,DC=de

PSO über ADSI Edit anlegen

Der ADSI Editor ist unter Server 2008 bestandteil der Administrative Tools und kann direkt aus dem Startmenü aufgerufen werden. Dort navigiert man gleich zum Password Settings Container (Pfad siehe oben) und erstellt über Rechtsklick -> New -> Object ein neues “msDS-PasswordSettings Object. Daraufhin kann man folgende Fragen beantworten:

Attribute
Wert (Beispiel)
Beschreibung
cn
PSO für Chefs
msDS-PasswordSettingsPrecedence
10
muss >0 sein, das niedrigste hat Vorrang
msDS-PasswordReversibleEncryptionEnabled
FALSE
[boolean] FALSE ist dringend empfohlen
msDS-PasswordHistoryLength
3
[0-1024] in Tagen
msDS-PasswordComplexityEnabled
TRUE
[boolean]
msDS-MinimumPasswordLength
8
[0-255]
msDS-MinimumPasswordAge
00:01:00:00
[dd:hh:mm:ss]
msDS-MaximumPasswordAge
120:00:00:00
[dd:hh:mm:ss] muss >= sein als [minimum Age]
msDS-LockoutThreshold
12
[0-65535] Anzahl der Fehlversuche bis Sperre
msDS-LockoutObservationWindow
00:00:20:00
[dd:hh:mm:ss] Zeitspanne der Fehlversuche
msDS-LockoutDuration
00:00:20:00
[dd:hh:mm:ss] Zeitspanne bis Account freigabe

Erscheint beim erstellen eine Fehlermeldung kann dies zwei Gründe haben:

(1)  Falsche Angaben bei den Attributen
Die Verdächtigen sind dabei die Attribute, die eine Zeitangabe in Form von Tage:Stunden:Minuten:Sekunden enthalten. Z.B. darf der Wert im Attribut msDS-LockoutObservationWindow nicht größer sein (höchstens gleich) als der Wert im Attribut msDS-LockoutDuration.

(2) UAC
Möglicherweise muss ADSI Edit explizit als Administrator gestartet werden.

PSO über PowerShell Anlegen

Über PowerShell ist das Anlegen einer PSO natürlich viel einfacher, sofern man nicht schon an fehlenden Modulen scheitert: PowerShell Module und SnapIn’s
Mit dem New-ADFineGRainedPAsswordPolicy Befehl kann jede Option über Parameter mitgegeben werden. Schön dargestellt mit jedem Parameter auf einer Linie (verbunden mit dem `-Zeichen am Ende jeder Zeile) sieht das dann so aus:

New-ADFineGrainedPasswordPolicy `
-Name “PSO for Manager” `
-Precedence 10 `
-ReversibleEncryptionEnabled $false `
-PasswordHistoryCount 3 `
-ComplexityEnabled $true `
-MinPasswordLength 8 `
-MinPasswordAge “1:00” `
-MaxPasswordAge “120” `
-LockoutThreshold 12 `
-LockoutObservationWindow “0:20” `
-LockoutDuration “0:20”

Details zum Befehl: http://technet.microsoft.com/en-us/library/ee617238.aspx

PSO an Benutzergruppen knüpfen

Nun muss über die Eigenschaften nur noch definiert werden für welche Benutzergruppen die PSO gelten soll. Dazu trägt man bei msDS-PSOAppliesTo einfach eine Benutzergruppe ein:

Quellen
http://blog.dikmenoglu.de/…

So funktioniert SSD

Dass eine SSD nicht einfach wie eine Festplatte funktioniert ist bekannt. Dass es im Betrieb aber einiges zu beachten und auch falsch zu machen gibt ist wenig bekannt: ein klassisches Beispiel ist eine SSD mit einer einzigen Partition, welche sich über das gesamte Laufwerk erstreckt und verschlüsselt ist. In Firmen oft anzutreffen, aber eigentlich ein grosser Fehler, da die Lebensdauer und Performance in diesem Zustand ganz unten angelant sind.

Optimale Konfiguration
Eine SSD ist optimal konfiguriert wenn sie nur zu 90% Partitioniert ist und am besten noch auf 2MB aligned. Das Alignment spielt bei verschlüsselten Festplatten nach meiner Erfahrung eine untergeordnete Rolle, da sich nicht viel Performance rausholen lässt. Ist die SSD aber zu 100% Partitioniert, funktioniert der Wear-Levelling-Mechanismus nicht mehr. Dieser sorgt dafür dass alle Zellen gleichmässig beschrieben werden, da diese nach 10’000 bis 100’000 Schreibvorgängen kaputt gehen können.
Unverschlüsselte Festplatten können theoretisch zu 100% Partitioniert werden, dürfen dann aber trotzdem nicht mit mehr als 90% Daten befüllt werden.

Erase Block & Garbage Collection
Eine SSD führt Buch über Pages welche beschrieben sind und welche nicht. Eine Page ist mehrere Kilobyte gross. Daten werden aber beim löschen auf der SSD nicht gelöscht, sondern nur zum löschen markiert. Mehrere Pages bilden dann einen sogenannten Erase-Block. Wenn Daten einer einzelnen Page geschrieben oder gelöscht werden sollen, muss der ganze Erase Block mit den anderen Pages ausgelesen, gelöscht und neu geschrieben werden. Da dies sehr Zeitaufwändig wäre, Speichert die SSD neue Daten in freien Speicher der gerade verfügbar ist und räumt dann später erst auf. Diesen aufräum-Prozess heisst Garbage Collection.

Trim-Befehl
Da Betriebsysteme über ihr Dateisystem aber Daten auf der Festplatte nicht löschen sondern nur im Dateisystem gelöscht markieren, würde der SSD bald auch so der Platz ausgehen. Hier kommt eine neue Funktion zum Zuge, welche in Windows 7, Server 2008 R2, Linux Kernel ab 2.6.33 und Mac OSx 10.7 unterstützt wird. Diese meldet beim löschen im Dateisystem der Festplatte auch eine Löschung der Daten weiter. Nur so ist es möglich Platz für die optimale Performance freizuhalten.

Quelle: iX Special Thema Storage