Dela via


Förstå och konfigurera DAX

Direktåtkomst (DAX) behandlar beständiga minnesenheter som byteadresserbart minne för att få den lägsta svarstiden, vilket ger direkt åtkomst till byteadresserbart minne i stället för att följa vanliga I/O-konventioner för filsystemblock. Appen ändrar direkt det beständiga minnet och kringgår programkostnaderna för I/O-stacken. När den används korrekt av DAX-medveten kod (det vill säga genom minnesmappning av data) kan detta ge betydande prestandafördelar. DAX har dock ett antal problem och ger inga betydande fördelar utan DAX-medveten kod.

I Windows Server 2019 och senare kan du bara skapa en DAX-volym på en lagrings- eller lagringsdirigeringskonfiguration som använder en enda beständig minnesdisk, utan paritet och ingen redundans. Du kan inte använda DAX på mer än en beständig minnesdisk och du kan bara använda DAX med NTFS.

Not

DAX stöds inte i lokala Azure-miljöer.

DAX- och blocköversättningstabell (BTT)

Om du inte använder DAX korrekt finns det risk för dataförlust. Vi rekommenderar starkt att du använder DAX tillsammans med blocköversättningstabellen (BTT) för att skydda mot "ofullständiga skrivningar" som kan inträffa vid strömavbrott eller systemstörning. BTT minskar den här risken genom att tillhandahålla atomisk sektorsuppdateringssemantik för beständiga minnesenheter, vilket i huvudsak aktiverar blockliknande sektorskrivningar så att appar kan undvika att blanda gamla och nya data i ett felscenario.

Även om vi rekommenderar att du aktiverar BTT på de flesta DAX-volymer för att undvika att utsätta NTFS-metadata för sönderrivna skrivproblem, är nackdelen med BTT att det kan påverka användningen av "stora" och "enorma" minnessidor på en DAX-volym eftersom ommappningar kommer att ske för metadataåtgärder. Om du vill använda stora och stora minnessidor för dina minnesmappade avsnitt ska du inte aktivera BTT.

Skapa en DAX-volym med hjälp av Windows PowerShell

Eftersom DAX är en egenskap för filsystemet måste det anges när formatera en NTFS-volym.

När du har skapat en volym använder du växeln -IsDax med cmdleten Format-Volume för att formatera volymen så att den är DAX-aktiverad.

Format-Volume -IsDax:$true

Följande kodfragment skapar en DAX-volym på en beständig minnesdisk.

# Here we use the first pmem disk to create the volume as an example
$disk = (Get-PmemDisk)[0] | Get-PhysicalDisk | Get-Disk
# Initialize the disk to GPT if it is not initialized
If ($disk.partitionstyle -eq "RAW") {$disk | Initialize-Disk -PartitionStyle GPT}
# Create a partition with drive letter 'S' (can use any available drive letter)
$disk | New-Partition -DriveLetter S -UseMaximumSize

   DiskPath: \\?\scmld#ven_8980&dev_097a&subsys_89804151&rev_0018#3&1b1819f6&0&03018089fb63494db728d8418b3cbbf549997891#{53f56307-b6
bf-11d0-94f2-00a0c91efb8b}

PartitionNumber  DriveLetter Offset                                               Size Type
---------------  ----------- ------                                               ---- ----
2                S           16777216                                        251.98 GB Basic

# Format the volume with drive letter 'S' to DAX Volume
Format-Volume -FileSystem NTFS -IsDax:$true -DriveLetter S

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- ------------ -------------- --------- ------------ ----------------- -------------      ----
S                        NTFS           Fixed     Healthy      OK                    251.91 GB 251.98 GB

# Verify the volume is DAX enabled
Get-Partition -DriveLetter S | fl

UniqueId             : {00000000-0000-0000-0000-000100000000}SCMLD\VEN_8980&DEV_097A&SUBSYS_89804151&REV_0018\3&1B1819F6&0&03018089F
                       B63494DB728D8418B3CBBF549997891:WIN-8KGI228ULGA
AccessPaths          : {S:\, \\?\Volume{cf468ffa-ae17-4139-a575-717547d4df09}\}
DiskNumber           : 2
DiskPath             : \\?\scmld#ven_8980&dev_097a&subsys_89804151&rev_0018#3&1b1819f6&0&03018089fb63494db728d8418b3cbbf549997891#{5
                       3f56307-b6bf-11d0-94f2-00a0c91efb8b}
DriveLetter          : S
Guid                 : {cf468ffa-ae17-4139-a575-717547d4df09}
IsActive             : False
IsBoot               : False
IsHidden             : False
IsOffline            : False
IsReadOnly           : False
IsShadowCopy         : False
IsDAX                : True                   # <- True: DAX enabled
IsSystem             : False
NoDefaultDriveLetter : False
Offset               : 16777216
OperationalStatus    : Online
PartitionNumber      : 2
Size                 : 251.98 GB
Type                 : Basic

Nästa steg

Relaterad information finns också: