Windows 2022 or higher - undocumented limitation that RDS broker must have more RAM than session hosts?

Anonymous
2025-01-09T17:46:06+00:00

I have found what appears to be an undocumented requirement that in Windows Server 2022 and higher, Remote Desktop services brokers are required to have more vCPU and RAM than the session hosts in the RDS deployment.

I have been able to reproduce this behavior with both Windows Server 2022 and Windows Server 2025 using the marketplace images in Azure.

For an example deployment, I had a session broker VM with 2 vCPU and 8GB of RAM.

One session collection had hosts that had 4 vCPU and 16GB of RAM each.

For testing, i stood up another session collection that had 2 vCPU and 4GB of RAM.

When trying to connect to the session collection where the hosts had 4 vCPU and 16GB of RAM, the connection would fail with three events being logged on the broker. Connecting to the other session collection where the hosts had less RAM than the broker worked fine.

Log Name: Microsoft-Windows-TerminalServices-SessionBroker/Admin

Source: Microsoft-Windows-TerminalServices-SessionBroker

Date: 1/9/2025 11:47:18 AM

Event ID: 802

Task Category: RD Connection Broker processes connection request

Level: Error

Keywords:

User: NETWORK SERVICE

Computer: XXXXXXXXXXXX

Description:

RD Connection Broker failed to process the connection request for user XXXXXXXXX.

Error: Insufficient system resources exist to complete the requested service.

Log Name: Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational

Source: Microsoft-Windows-TerminalServices-SessionBroker-Client

Date: 1/9/2025 11:47:18 AM

Event ID: 1296

Task Category: RD Connection Broker Client processes request from a user

Level: Error

Keywords:

User: NETWORK SERVICE

Computer: XXXXXXXXX

Description:

Remote Desktop Connection Broker Client failed while getting redirection packet from Connection Broker.

User : XXXXXXXXX

Error: Element not found.

Log Name: Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational

Source: Microsoft-Windows-TerminalServices-SessionBroker-Client

Date: 1/9/2025 11:47:18 AM

Event ID: 1306

Task Category: RD Connection Broker Client processes request from a user

Level: Error

Keywords:

User: NETWORK SERVICE

Computer: XXXXXXXXXX

Description:

Remote Desktop Connection Broker Client failed to redirect the user XXXXXXXXXXXX.

Error: NULL

....

The broker had plenty of free CPU and RAM. CPU utilization was around 2%, RAM utilization was around 30%.

I then resized the working session hosts to have 4 vCPU and 16GB of RAM, this caused the connection to fail again with the same events logged on the broker.

I then resized the broker to have 8vCPU and 32GB of RAM.

This did not immediately resolve the problem, however if i removed the session hosts from the deployment and added them back in again, all was fine.

As if once it gets into this "bad" state you need to remove the hosts and add them back in again to fix it.

This limitation is not documented, and frankly it seems crazy.

If i need to run session hosts with 64GB of RAM, i need to pay for broker VMs in Azure with 128GB of RAM even though i only really need 3GB for the actual workload on the brokers?

Is this some kind of an evil plot by Microsoft to get people to pay for unnecessarily large VMs in Azure or give up on running RDS and move to Azure Virtual Desktop?

Windows for business | Windows Server | User experience | Remote desktop services and terminal services

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question. To protect privacy, user profiles for migrated questions are anonymized.

0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Anonymous
    2025-01-13T12:39:29+00:00

    Hello,

    There is currently no clear official documentation that in Windows Server 2022 and later, the Remote Desktop Services agent needs to have more vCPUs and RAM than the session host in an RDS deployment. The situation you are experiencing may not be an official request from Microsoft, but is caused by something else.

    Typically, the resource requirements for a remote desktop connection agent are not high. It is mainly responsible for managing tasks such as connection requests and load balancing, and does not require a large amount of memory and CPU resources. For example, for a medium-sized deployment, a proxy server may require fewer vCPUs and a few gigabytes of RAM to work properly.

    If you're using the Azure Virtual Desktop service, its infrastructure, including agents, gateways, load balancers, and diagnostics, is managed by Azure Virtual Desktop. This means that you don't need to configure a large number of resources separately for your proxy server, as Azure automatically manages those resources based on your actual needs. If you find that you need to over-provision resources for your proxy server, it may be because you misunderstood the deployment requirements or configured unnecessarily high-spec virtual machines. In Azure, you can choose the right virtual machine specifications based on your actual needs to avoid unnecessary costs.

    Therefore, it is recommended to re-evaluate your deployment needs and refer to the official documentation for reasonable resource allocation to avoid unnecessary cost expenditures.

    I hope this information helps.

    Best regards,

    Jingjing Wu

    0 comments No comments
  2. Anonymous
    2025-01-13T12:58:37+00:00

    If this is indeed a new technical requirement, it does seem like Microsoft is doing it purely to push sales of Azure Virtual Desktop.

    0 comments No comments