ORIGINAL REDDIT POST

Top tools for monitoring CPU spikes with details on window server?

I am trying to hunt down sporadic cpu spikes on a Windows server and I need a tool that will allow me to set a threshold whereby it will trigger and capture cpu telemetries with details on what process spiked it. Looking for something relatively simple and…

Original postr/sysadmin

I am trying to hunt down sporadic cpu spikes on a Windows server and I need a tool that will allow me to set a threshold whereby it will trigger and capture cpu telemetries with details on what process spiked it. Looking for something relatively simple and lightweight. Looked at some free tools on Microsoft store but not really sure if any of those are what I am looking for. I know about performance monitor and resource monitor and event viewer, ect but those things either are too shallow or require drilling and filtering while searching for a needle in a haystack. I would ideally like it to be a free Microsoft owned tool, but I am not above presenting leadership with something to buy that I can deploy to all systems. What say ye?

Collected discussion

12 comments

u/C-redditKarma

Second Zabbix. It’s free but big learning curve and decent size build out for your use case

u/blackout-loudOP

Does it include timelines also?

u/DriftAnchor45

Zabbix is great, but the learning curve is no joke

u/dpf81nz

yeah, i had to do something like this a few years back within our Citrix VDI environment and perfmon running as you described identified the offending process

u/Floss_Patrol_76

perfmon actually does what you want, you just have to build a data collector set with an alert threshold instead of watching the live graph - set it to trip at ~85% cpu and log Process\% Processor Time so the offending process is baked into the capture. if you want the exact culprit the instant it spikes, procdump -c 85 -s 5 on the suspect process writes a dump the moment it crosses the threshold. both free, both microsoft, no agent to push out.

u/C-redditKarma

Perfmon maybe?

u/Atlasavd

Is the server a VM? Onsite? Went through something similar years ago with VMware. C-States. After a period of inactivity CPUs would down clock themselves to save power. They didn’t always wake up on demand and caused lag. If a physical server, check your bios C-States first before going down the software rabbit hole

u/systonia_

Zabbix tells you that there is a spike, but not which process. You'll need perfmon for this.

u/DefiantPenguin

+1 for Zabbix. For the event logs, you could consider Splunk (free but really tight limits on how much data you ingest). Edit to add Netwrix offers a free event log monitor but I only have experience with their Auditor product.

u/evasiveswine

It’s built into the OS. No fancy tools just performance logs and alerts. Create a data collector set with processor and process CPU monitoring and leave it running for a bit.

u/autogyrophilia

That's not monitoring, that's tracing. Use powershell.