A slow Windows VPS usually comes down to one resource running out: CPU, memory, disk I/O or network. The trick is to identify which one before changing anything. This guide uses tools built into Windows Server 2019, 2022 and 2025.
Before you start
- RDP access with an administrator account.
- A note of when the slowness happens (always, at certain times, after an update).
Get an overview in Task Manager
- Press Ctrl + Shift + Esc (in RDP use Ctrl + Alt + End → Task Manager) and click More details.
- On the Processes tab, click the CPU, Memory, Disk and Network column headers to sort the heaviest processes to the top.
- On the Performance tab, look for any resource sitting near 100%.
For deeper detail open Resource Monitor (resmon): the Disk tab shows which files are being read and written, and the Network tab shows connections per process.
Check from PowerShell
Top CPU consumers:
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, Id, CPU, WSFree memory and disk space:
Get-CimInstance Win32_OperatingSystem | Select-Object @{n='FreeRAM_GB';e={[math]::Round($_.FreePhysicalMemory/1MB,2)}}Get-PSDrive -PSProvider FileSystemLive counters, sampled every two seconds:
Get-Counter '\Processor(_Total)\% Processor Time','\Memory\Available MBytes','\PhysicalDisk(_Total)\Avg. Disk Queue Length' -SampleInterval 2 -MaxSamples 5Common causes and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| TiWorker.exe / TrustedInstaller high CPU | Windows Update installing | Let it finish, then reboot; set active hours |
| MsMpEng.exe high CPU or disk | Defender scanning | Schedule scans off-peak; add exclusions for database and app data folders |
| Memory slowly fills over days | Application memory leak | Find the process growing in Task Manager; update or schedule a restart of that service |
| Disk at 100%, high queue length | Heavy I/O or C: almost full | Free space (Disk Cleanup, cleanmgr), move data to another drive |
| sqlservr.exe uses all RAM | SQL Server default memory setting | Set maximum server memory in SQL Server properties |
| Slow RDP but low server load | Network latency or display settings | Lower colour depth, disable wallpaper, try a closer server location |
Clean up disk space safely
- Run
cleanmgrand choose Clean up system files. - Shrink the component store:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup - Find large folders with
Get-ChildItem C:\ -Directory | ForEach-Object { [PSCustomObject]@{Folder=$_.FullName; GB=[math]::Round((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum/1GB,2)} } | Sort-Object GB -Descending - Clear old IIS logs in
C:\inetpub\logs\LogFiles.
Look for errors in Event Viewer
Open eventvwr → Windows Logs → System and filter for Critical and Error events around the time of the slowdown. Disk warnings (event IDs 129, 153) or repeated service crashes point straight at the cause.
Check for unwanted processes
Unknown processes with high CPU can be cryptominers installed through a weak RDP password. Check the file location of suspicious processes (right-click → Open file location), scan with Defender, review scheduled tasks (taskschd.msc) and secure RDP.
Troubleshooting checklist
- Reboot after pending updates: many slowdowns disappear after the update completes.
- Confirm the VPS size suits the workload: Windows Server with a GUI needs at least 2 GB RAM, and 4 GB+ for comfortable use with applications.
- If CPU is low but everything is slow, ask support to check the host node and disk performance.
Windows VPS performance FAQ
How much RAM does Windows Server need?
Microsoft's minimum is 2 GB for the desktop experience. Plan 4–8 GB for IIS, SQL Server Express or trading platforms.
Should I disable Windows Defender for speed?
No. Add targeted exclusions for busy data folders instead; disabling protection on an internet-facing server is risky.
Does Server Core perform better?
Yes, it uses less RAM and disk and needs fewer updates, but has no desktop; manage it with PowerShell or Windows Admin Center.
