0X000006B9

Fix RPC_S_OUT_OF_RESOURCES (0x000006B9) on Windows Server

Server & Cloud Intermediate 👁 3 views 📅 Jul 20, 2026

That error means Windows ran out of RPC resources. Had a client panic when their finance app died. Fix it by raising the RPC port range or freeing up ports.

The 30-Second Fix: Reboot and Check Ports

First thing – restart the affected machine. I know, sounds dumb, but last month a client’s print server hit this after a botched update. A reboot cleared it like magic. If that doesn’t work, run this in PowerShell to see if you’re running out of TCP ports:

netstat -an | findstr /i listening | measure

If you see over 16,000 listening ports, you’ve got port exhaustion. That’s usually the real problem.

The 5-Minute Fix: Expand the RPC Dynamic Port Range

Windows defaults to giving RPC about 5,000 ports (from 49152 to 65535). That’s not enough on busy servers. Here’s how to expand it:

  1. Open Registry Editor as admin.
  2. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet. If the key doesn’t exist, create it.
  3. Add a DWORD (32-bit) called Ports.
  4. Set value to 50000-65535 (gives you 15,000 ports).
  5. Add another DWORD called PortsInternetAvailable and set it to 1.
  6. Add UseInternetPorts DWORD set to 1.

Reboot the server. That usually fixes it for most small businesses.

The 15+ Minute Fix: Deep Dive and Cleanup

If you’re still seeing the error, something is holding ports open. I had a client last month whose backup software was creating RPC connections and never closing them. Here’s how to find the culprit:

netstat -anb | findstr /c:"RPC" /c:"ESTABLISHED"

Look for a process with hundreds of connections. Then restart that service. If it’s a third-party app, update or reinstall it. Also check if you’ve got a firewall (like Windows Defender Firewall) that’s blocking RPC ports – that can cause retries and exhaustion.

Next step – increase the ephemeral port range globally. Windows gives TCP a smaller pool by default on older OSes. Run this:

netsh int ipv4 set dynamicport tcp start=10000 num=55535

That gives you 55,000 ports. Reboot again. If it still fails, you might need to move some services to another server. Had a client with a single domain controller handling both file shares and SQL – split them up, problem gone.

Last Resort: Check Hardware Resources

Sometimes the error is misleading. I’ve seen it happen because the server ran out of memory or disk space. Run systeminfo and check available memory. If it’s under 500MB, add RAM or kill unnecessary processes. Disk space under 5% free? Clear temp files or move data.

Real story: Had a dental clinic’s server hit this last year. Turns out their antivirus was scanning every RPC packet – causing timeout and exhaustion. Disabled real-time scanning for RPC traffic, error never returned.

Preventing This Going Forward

Monitor your port usage with a simple script:

Get-NetTCPConnection | Group-Object State | Select Name, Count

If TimeWait is over 10,000, you’re leaking ports. Reduce the TCP time wait delay via registry: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay set to 30 (decimal).

Bottom line: most of the time, expanding the RPC port range fixes it. If not, look for a leaky app. Shoot me a message if you’re stuck – I’ve seen this one a lot.

Was this solution helpful?