Deling af ressourcer i Windows Server Remote Desktop Services (RDS)

Et almindeligt problem med terminalservere, der hoster flere brugere, er, at en enkelt bruger kan starte en ressourcekrævende proces, hvilket påvirker ydeevnen af ​​andre brugeres sessioner negativt. For eksempel, hvis en bruger starter en proces, der bruger mere end 90 % af værtens CPU, vil de andre brugere ikke kunne arbejde normalt.

For at forhindre sådanne situationer understøtter Windows Server med rollen Remote Desktop Services (RDSH) samt Windows 10/11 Enterprise multi-sessionDynamic Fair Share Scheduling (DFSS)funktion. DFSS distribuerer dynamisk tilgængelige servercomputerressourcer retfærdigt mellem brugersessioner, hvilket sikrer, at ingen enkelt session kan monopolisere CPU-, disk- eller netværksressourcer, og dermed opretholde en afbalanceret ydeevne for alle brugere. DFSS kan administrere brugen af ​​følgende værtscomputerressourcer:

  • CPU rimelig andel– bruges til dynamisk at fordele tilgængelig CPU-tid mellem sessioner (under hensyntagen til både antallet af aktive sessioner og CPU-tidsforbruget for hver session). Dette forhindrer situationer, hvor en enkelt bruger monopoliserer CPU'en på en RDS-vært ved at køre en tung proces.
  • Disk Fair Share– det gør det muligt at fordele den tilgængelige lagerbåndbredde til I/O-operationer blandt brugerne.
  • Network Fair Share– gør det muligt at fordele den tilgængelige netværksgrænsefladebåndbredde mellem sessioner ved hjælp af en round-robin-mekanisme.

DFFS kontrollerer ikke distributionen af ​​RAM og bruges ikke til at allokere hukommelse mellem brugersessioner.

DFSS blev først introduceret i Windows Server 2008 R2, da det oprindeligt kun var tilgængeligt til planlægning af CPU-ressourcer. Fra Windows Server 2012 blev Fair Share Scheduling udvidet ud over CPU til at omfatte dynamisk netværksgennemløb og disk I/O-balancering

Fair Share-funktionen er aktiveret på Windows Server 2016 og nyere versioner, når rollen Remote Desktop session host (RDSH) er installeret. Fair belastningsbalancering i Remote Desktop Services anvendes som standardkun til CPU-ressourcer. CPU Fair Share-funktionen fordeler dynamisk tilgængelig CPU-tid jævnt mellem brugersessioner. Hvis en bruger bruger for mange CPU-cyklusser, reducerer DFSS automatisk de CPU-ressourcer, der er allokeret til denne bruger, hvilket frigør processorkraft til andre brugere.

Kør PowerShell-kommandoen for at kontrollere, om DFSS er aktiveret:

(gwmi win32_terminalservicesetting -N "rootcimv2terminalservices").enabledfss

1– DFSS aktiveret

0– Deaktiveret

En separat gruppepolitik-indstilling kaldetSlå Fair Share CPU-planlægning fraer tilgængelig for at aktivere eller deaktivere retfærdig tildeling af CPU-ressourcer på RDS-værten (Computerkonfiguration -> Administrative skabeloner -> Windows-komponenter -> Fjernskrivebordstjenester -> Remote Desktop Session Host -> Forbindelser)

Som standard har Windows Server RDS og Windows Enterprise multi-session versioner CPU Fair Share aktiveret, mens Dynamic Disk Fair Share og Dynamic Network Fair Share er deaktiveret, medmindre de er aktiveret manuelt af en administrator. Tjek værdien afAktiverCpuQuotaregistreringsdatabasen parameter for at bekræfte det:

Get-Itemproperty -Path "HKLM:SYSTEMCurrentControlSetControlSession ManagerQuota System" -name EnableCpuQuota

Og denAktiver FairShareparameterværdien er0(deaktiveret) for disk og netværk (der er ingen separat GPO-parameter for dem):

Get-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesTSFairShareDisk" -name EnableFairShare
Get-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesTSFairShareNetFS" -name EnableFairShare

Få værdien af ​​alle tre muligheder:

Get-WmiObject -Class win32_terminalservicesetting -Namespace rootcimv2terminalservices | FL EnableDFSS,EnableDiskFSS,EnableNetworkFSS

Du kan kun aktivere Fairy Sharing for netværket og disken gennem registreringsdatabasen ved at ændre værdien af'EnableFairShare'nøgle til Du kan kun aktivere Fairy Sharing for netværket og disken gennem registreringsdatabasen ved at ændre værdien af ​​'EnableFairShare'-nøglen til 1.

Eller brug følgende PowerShell-kommando:

AktiverFair Share CPU-planlægning:

$temp = (gwmi win32_terminalservicesetting -N "rootcimv2terminalservices")
$temp.enableDFSS = 1
$temp.put()

AktiverDynamic Disk Fair Share:

$temp = (gwmi win32_terminalservicesetting -N "rootcimv2terminalservices")
$temp.enableDiskFSS = 1
$temp.put()

AktiverNetwork Fair Share:

$temp = (gwmi win32_terminalservicesetting -N "rootcimv2terminalservices")
$temp.enableNetworkFSS = 1
$temp.put()

Læs også:Fix: Remote Desktop Services er i øjeblikket optaget

For at deaktivere hver DFSS-funktion skal du ændre dens værdi til0.

I visse situationer anbefales det at deaktivere Dynamic Fair Share Scheduling, hvis det i væsentlig grad påvirker ydeevnen af ​​brugerapps på en RDS-vært. Mens DFSS hjælper med at sikre retfærdig fordeling af ressourcer som CPU, disk og netværksbåndbredde blandt brugere, kan nogle arbejdsbelastninger opleve regulering, hvilket fører til forringet app-ydeevne.

Related Posts