Understanding your Windows Server's resource usage — CPU, memory, disk, network — is essential for both troubleshooting and capacity planning. This guide covers the built-in tools for doing so.
Task Manager: Quick, Real-Time Overview
Ctrl+Shift+Esc
The fastest way to get an immediate snapshot of CPU, memory, disk, and network usage, plus per-process resource consumption — your first stop for a quick check.
Performance Monitor: Detailed, Historical Tracking
perfmon.msc
Far more detailed than Task Manager — lets you track specific performance counters over time, build custom monitoring views, and log data for later analysis.
Key Performance Counters to Monitor
| Counter | What It Shows |
|---|---|
| Processor(_Total)\% Processor Time | Overall CPU utilization |
| Memory\Available MBytes | Free physical memory |
| PhysicalDisk\% Disk Time | Disk activity/busy percentage |
| Network Interface\Bytes Total/sec | Network throughput |
Setting Up a Data Collector Set for Ongoing Logging
logman create counter MyPerfLog -c "\Processor(_Total)\% Processor Time" "\Memory\Available MBytes" -f csv -o C:\PerfLogs\perflog.csv -si 60
logman start MyPerfLog
Logs specified counters to a CSV file every 60 seconds, useful for capturing performance data over an extended period for later analysis or troubleshooting an intermittent issue.
Using Resource Monitor for Deeper Process Detail
resmon.exe
Provides more granular detail than Task Manager, particularly useful for identifying exactly which process/file is responsible for disk or network activity.
PowerShell-Based Performance Checks
Get-Counter '\Processor(_Total)\% Processor Time'
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Useful for scripting performance checks or integrating with automated monitoring/alerting.
Checking Disk Space
Get-PSDrive -PSProvider FileSystem
Identifying High Memory/CPU Processes
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 Name, WorkingSet, CPU
Integrating with Broader Monitoring (Prometheus/Grafana)
See How to Set Up Prometheus and Grafana for VPS Monitoring — a Windows-compatible exporter can expose Windows performance metrics to Prometheus, letting you build unified dashboards alongside any Linux infrastructure you might also be managing.
Setting Up Alerts for Resource Thresholds
Windows Admin Center (see How to Install and Use Windows Admin Center) provides some built-in alerting capability, or integrate with your broader monitoring/alerting stack for more comprehensive threshold-based notifications.
Common Errors
High CPU usage with no obviously corresponding process in Task Manager — check "System Idle Process" percentage inversely, and consider whether Windows Update or a scheduled background task might be the actual culprit not immediately obvious in the default Task Manager view.
Continue Reading
- How to Set Up Prometheus and Grafana for VPS Monitoring
- Windows Server Event Viewer: How to Read and Use Logs
- PowerShell Basics for Windows Server Administration
Browse more articles in Windows Server Administration.