Quick audit: Task Manager + PerfMon
1. Open Task Manager → Performance and view the load on CPU, Memory, Disk, Ethernet. For a quick disk check, focus on “Active time” and “Average response time.”
2. Run perfmon.msc → Performance Monitor → + and add the basic counters:
- CPU: % Processor Time, % Privileged Time, % User Time
- Memory: Available MBytes, Pages/sec
- Disk: Avg. Disk sec/Transfer, Disk Transfers/sec, Avg. Disk Queue Length
- Save in Data Collector Set for 1–5 minutes to get a report.
Clean up and tidy up
Disk Cleanup (cleanmgr): Explorer → C: drive → Properties → Disk Cleanup → Clean up system files. Select Windows Update Cleanup, temporary files, recycle bin, and WER.
Autostart:
cleanmgr /sageset:11
cleanmgr /sagerun:11
In Windows Server 2019/2022, enable Storage Sense to automatically clean up Temp/Downloads/Recycle Bin on a schedule.
Disks: objective speed measurement
Install DiskSpd and run the test (example — 40% write, 60% read; 64K block; 8 threads; 32 queue; 180 sec):
diskspd.exe -c20G -d180 -r -w40 -t8 -o32 -b64K -Sh -L E:\testfile.dat > C:\Logs\diskspd.txt
See IOPS, AvgLat (ms), and MiB/s; stable disk latency in prod — <10–25 ms if possible.
If disk graphs are not visible in Task Manager on older systems: run diskperf -y and restart Task Manager.
Network: removing oversights (RSC/VMQ/RSS/LSO)
On a number of configurations, disabling some offload functions and carefully configuring TCP helps:
# Check/disable RSC
Get-VMSwitch | Select Name,*RSC* # check the status
Set-VMSwitch -Name "vSwitchName" -EnableSoftwareRsc $false
# VMQ — if the driver is acting up
Get-NetAdapterVmq
Set-NetAdapterVmq -Name "Ethernet" -Enabled $false
# We selectively disable LSO/RSS on the adapter and check the measurements.
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Large Send Offload v2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName "Receive Side Scaling" -DisplayValue "Disabled" -NoRestart
After each step, measure using PerfMon/iperf/SMB copying to avoid “fixing one thing and breaking another.”
Antivirus: exceptions for “hot” paths
To prevent the scanner from throttling I/O (SQL, log folders, caches), add exceptions in Microsoft Defender:
Add-MpPreference -ExclusionPath "C:\SQLData","D:\IISLogs","C:\ProgramData\AppCache"
Add-MpPreference -ExclusionProcess "sqlservr.exe","w3wp.exe"
Add-MpPreference -ExclusionExtension ".mdf",".ldf",".ndf",".bak",".log"
Parameters and commands — in the official Defender documentation.
Memory and pagefile
Keep 15–20% of RAM free for the file cache. Pagefile — “System-selected” or fixed (min=RAM, max≈1.5×RAM, if full crash dumps are needed).
SMART/drive health
Check for SSD/HDD predictive errors:
wmic diskdrive get status
Get-StorageReliabilityCounter | Format-List
If you see media degradation, plan your migration before an incident occurs.
Checklist
- PerfMon reports before/after, alerts on CPU/disk/network.
- Disk Cleanup/Storage Sense configured.
- DiskSpd shows acceptable latency.
- Network offloads checked (RSC/VMQ/RSS/LSO).
- Defender exceptions for “hot” paths/processes.
- SMART monitoring without warnings.