Task Manager
Use Processes and Details to spot the server process, CPU spikes, memory pressure, and runaway helper programs.

Editorial • guide
A practical guide to monitoring, diagnosing, and improving game server performance without guessing.
Performance problems feel urgent because players notice them immediately: rubber-banding, delayed chat, slow world loading, connection timeouts, or full server crashes. The fastest way to fix them is to measure the server first, then change one variable at a time.
Before tuning anything, record the game server version, player count, CPU usage, memory usage, disk activity, network traffic, and the exact symptom players report. That baseline turns performance work from guesswork into a controlled process.
Optimization rule
Change one thing, test under similar load, then write down the result. If you change five settings at once, you will not know which one helped or hurt.
At a glance
Use the symptom to decide where to investigate first.
Metric | What to watch | Likely issue | First action |
|---|---|---|---|
CPU | Sustained 85%+ or one core pegged | Simulation, plugins, AI, world generation | Reduce expensive settings or profile plugins |
Memory | RAM climbs until restart or swap begins | Leak, too many mods, bad heap settings | Update plugins and set sane restart windows |
Disk | High queue, slow writes, long world saves | HDD, backups during play, heavy logging | Move worlds to SSD and schedule backups off-peak |
Network | Packet loss, high ping, upload saturation | Route, bandwidth, DDoS, bad region | Check player geography and upstream limits |
Use tools already provided for you by your operating system. Windows comes with Tasks Manager, Resource Monitor and Performance Monitor to name a few. These are powerful tools you can use quickly and easily to track down performance bottlenecks.
In addition to the built in tools, there are power tools that are very useful too such as the Sysinternals suite, namely:
Process Monitor aka ProcMon
Process Explorer
Monitoring
These built-in tools cover most first-pass diagnostics on a Windows-hosted game server.
Use Processes and Details to spot the server process, CPU spikes, memory pressure, and runaway helper programs.
Use CPU, Memory, Disk, and Network tabs when Task Manager is too broad.
Use PerfMon when you need counters, longer captures, and alerting around thresholds.
Match player complaints to timestamps so performance data and game events line up.
Quick ways to reach the Windows tools mentioned above.
Task Manager: Ctrl + Shift + Esc
Resource Monitor: Win + R -> resmon -> Enter
Performance Monitor: Win + R -> perfmon -> EnterCPU bottlenecks usually show up as delayed ticks, slow AI, or sluggish command handling. Memory problems often appear after hours of uptime. Disk bottlenecks are common during world saves, backups, map generation, or heavy log writes. Network bottlenecks show as high ping, timeout bursts, or only affecting players in certain regions.
For public servers, test under realistic conditions. A server that feels perfect with two staff members online may fall apart with a full player count, active plugins, map exploration, and backups all running together.
Optimization
Start with reversible changes that reduce load without changing the whole server identity.
View distance, entity counts, AI rates, and tick-heavy plugins usually matter more than cosmetic settings.
World saves and chunk loading are painful on slow disks, especially during peak play.
Backups are essential, but compressing a large world during prime time can cause visible stutter.
A planned daily restart is better than an unplanned crash caused by slow memory growth.
A lightweight loop for logging CPU, memory, and disk counters while reproducing a problem.
while ($true) {
$cpu = Get-Counter '\Processor(_Total)\% Processor Time'
$memory = Get-Counter '\Memory\Available MBytes'
$disk = Get-Counter '\PhysicalDisk(_Total)\% Disk Time'
$timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
$cpuValue = [math]::Round($cpu.CounterSamples.CookedValue, 2)
$memoryValue = [math]::Round($memory.CounterSamples.CookedValue, 0)
$diskValue = [math]::Round($disk.CounterSamples.CookedValue, 2)
"$timestamp,CPU:$cpuValue%,RAM:$memoryValue MB,Disk:$diskValue%" |
Tee-Object -FilePath .\server-performance.log -Append
Start-Sleep -Seconds 30
}The best performance fix is the one you can prove, repeat, and undo if it backfires.
FAQ
Check CPU, memory, disk, and network usage at the exact time players report lag. The symptom matters less than the resource that spikes with it.
It can help in limited cases, but it is not a cure. If the server is overloaded, priority changes may hide the problem while making the rest of the machine less responsive.
Upgrade when monitoring shows the machine or network is consistently saturated after you have removed avoidable load from plugins, backups, logging, and game settings.
Check out our Getting Started with Game Server Hosting guide.
Articles
End of guide
Review performance after every major game update, plugin change, event, or player-count jump.
Article details
Author: Server Vote Editorial Team · Editorial Team
Published: 5/11/2026
Updated: 5/11/2026
Keep going
Feedback
Spotted a problem, outdated step, or missing command? Let us know and we will keep this guide accurate.
Rate this guide
Hover the stars to rate this article. Your rating is saved to your account for this page.
Click a star to leave a rating.