Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm interested in finding a tool that will show me what processes are eating my CPU cycles overnight.

Problem: We have nagios configured on a Windows XP machine - it alerts high CPU usage almost every night and I am having difficulty tracking down the offending process(es).

I looekd at Process Explorer from sysinternals, but I don't know how I would run this overnight and still have the information I want.

share|improve this question
Probably not for closing on account of nagios - which could be to blame. – 21st Century Moose Feb 5 '10 at 18:07
up vote 1 down vote accepted

you could always run perfmon and capture a log file to look at the next day. Capture all the process data and you will see what the CPU usage is

share|improve this answer
Giving this one a try tonight. – andyhky Feb 8 '10 at 14:31
I captured everything I could find with the Process object, but I'm not able to get the 'offending' process name(s) from this. Ideas? – andyhky Feb 9 '10 at 14:35
The process name is in the instance field – Jim B Feb 17 '11 at 3:56

Sysinternal tools from Microsoft will help you with that especially Process Explorer. You can probably stay watching how it works or you could try this tool WinTasks 5 which seems to promise CPU logging for up to 24 hours.

Logging CPU Usage WinTasks 5 Professional is capable of logging CPU usage per process for up to 24 hours, which is more than enough for detecting suspicious processes. WinTasks 5 Professional can also run in the background, continuously logging CPU and memory usage while consuming a minimum of system resources. To decide which processes have been active during the night, you simply launch WinTasks and open the resource statistics window. Set the time scale to 24 hours and look for deviations in the total CPU usage graph. If there are any longer periods of high CPU loads, step through all running processes using the arrow keys to find the processes that were active during that period. This gives you a good starting point for identifying unwanted processes, backdoors, Trojans, and viruses. After identifying the suspicious processes, you can simply search the Internet for the executable files to find out what each process does.

Seems like WinTasks 5 is out of date thou. You could eventually use Perfmon (builtin feature of Microsoft products). You can find how to do it on microsoft website. It's not as advanced as Vista/7 but it should do the trick.

share|improve this answer

Any network-wide AV scans scheduled to run overnight? Backups? Anything else? These are normally good first places to look.

share|improve this answer

Process Explorer can do it.

View > System Information.

When the process starts hitting high load, simply mouse over the "green" area and it will tell you the .exe file.

alt text

share|improve this answer
Set it to update every 10 seconds so you get the longest term within the CPU usage History. If this is something that you'd like to check the next morning I'd suggest installing SNMP and monitor the individual applications your running. – GruffTech Feb 5 '10 at 18:15

Create a batch file or other type of script to be run when Nagious triggers the alert. Then, using pslist or similar, see what's running at that time. My gut feeling is that it will be an automated process, such as backups, AV scan, defrag, etc.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.