Today in Geek School we’re going to teach you how to monitor your computer using the built-in tools that Windows provides, Task Manager and Resource Monitor.
Keeping track of resources on your PC is one of the proud geek traditions that will probably never die – instead, it spread over to smartphones and tablets, with task manager utilities being some of the most popular apps for a long time.
The biggest problem in Windows is that there are way too many utilities to choose from when you’re trying to track resources. So today, we’ll go through some of the useful features in Task Manager and Resource Monitor.
It’s worth pointing out that if you haven’t read our series on using the SysInternals Tools, this would be a great time to do that. Process Explorer is an extremely powerful tool that can help you manage tasks and see what’s going on.
Everybody knows how to use task manager, including people that know almost nothing about Windows. They hit CTRL + ALT + DEL and then select Task Manager from the list, because they don’t know that you should use CTRL + SHIFT + ESC instead to launch it instantly. And then they close whatever process Windows says is hanging.
Luckily Microsoft greatly enhanced the Task Manager with a lot of new and useful features that help you monitor your computer more effectively.
If you double-click on the left-hand side of the window, where all the little graphs are, Task Manager will minimize down into a great little system monitor that you can put on one of your displays to monitor things at all times.
If you double-clicked on the right side of the screen instead, you can maximize the particular graph that you were looking at and use it as a monitor. In this case we chose the CPU monitor, which shows a graph like this one.
Tip: You can use the Options -> Always on Top option to make Task Manager stay on top of every other window, which is really helpful when displaying in the mini graph view.
The App History tab shows you the resource usage over time for your applications, whether they are currently running or not. This can be really useful for troubleshooting something that might have happened while you weren’t in front of the PC.
The one problem is that by default the App History tab only shows you processes that belong to Windows Metro apps, which makes no sense considering you need to use Task Manager on the desktop to see this tab in the first place.
Luckily you can go to Options -> Show history for all processes and then you’ll see everything in the list, including regular Windows apps.
Much has been written about how Microsoft added the ability to manage your startup applications into Task Manager, and the Startup tab is pretty simple to use. So today we’re just going to mention that the Startup impact column is important for understanding what is slowing down your system boot time, and when you are monitoring your PC or somebody else’s, you should take a look at it.
Analyze Wait Chain
One of the new options added into Task Manager in recent versions was the “Analyze Wait Chain” option when you right-click on a task in the Details view. This allows you to see what processes are waiting for a resource that is being used by another process.
What this means is that if you have an application hanging for some reason, you can analyze the wait chain to see whether it is waiting on something that is in use.
For instance, we printed from Word, and then used this option while the print process was happening to see what would happen. In this case, Word was waiting for splwow64.exe, which handles printing from 32-bit applications.
It’s worth noting that because Word is written properly, the GUI interface doesn’t actually hang while it is waiting for the other process.
When Task Manager just isn’t enough for tracking CPU, memory, disk, or network usage, you will probably want to turn to Resource Monitor, which is the best tool for tracking all of these things in a simple and concise way.
The initial view shows an overview with separate sections for CPU, Memory, Disk, Network, with sortable columns so you can very quickly see what is using up your resources. You can also use the tabs to dig in deeper on one of the resources if you need to.
While the graphs on the right-hand side are fun, they are often a waste of space on a smaller screen, so you can hide them with the round arrow button if you need to.
If you want to really dive in, you can use the checkboxes to the left of the list to select a process, and then everything else in the interface will show the resource usage only for that process. So if you were running an intensive process in the command prompt and you selected cmd.exe as a process, the other panels would show only resource usage for that process.
The CPU tab gives you a better view of just the CPU usage, and contains a really useful feature – the Handle Search.
Essentially, if a process has a file or folder locked, and you aren’t sure which process it is, you can pop the name of the file into the search box and quickly figure it out. You could also choose to end the process from here if you wanted to, though we’d recommend closing that application the normal way so you don’t lose any data.
The Memory tab gives you an extra view that shows you a bar graph with memory usage. It also gives you a tiny graph that shows the used physical memory in percentage, which can be handy as well.
When looking at the bar graph, one of the things you’ll probably notice, and freak out a little about, is that the “Free” memory column is sitting there with 0 MB free. But that’s a good thing!
Memory that isn’t being used for something is a waste of resources, so Windows tries to make sure that your RAM is completely full of useful things at all times (to prevent from having to load stuff from your much slower hard drive)… but it can remove low-priority DLLs or processes from RAM whenever your application needs more memory.
So in an ideal scenario, if you start up an application that requires a function in a common DLL, the main executable and the function might already be sitting in Standby memory and not need to be read from disk at all.
- Hardware Reserved – This is memory that is reserved for certain drivers and things like system BIOS. Literally, it is reserved for hardware.
- In Use – This is the most important one in the list, because it represents processes, applications, and Windows itself.
- Modified – This contains pages of memory that have been modified and must be flushed to disk before they get used again.
- Standby – This section of memory stores commonly used things so they can be accessed without loading from disk, but the lowest priority things will be cleared out to make space for your application.
- Free – This section will usually be pretty small, and Windows will use algorithms to figure out which applications and DLLs you use most, and move them into RAM (which would change that bit of memory from “Free” to “Standby”)
Bottom line: If the graph is green all the way across most of the time, you probably need to upgrade your RAM or run less things at once.
Something that requires a little more explanation is the terms related to memory usage. Over the years, a lot of confusion has left many people with the wrong impression about how Windows manages memory, especially since modern versions of Windows do a much better job. Based on the screenshot above, here is what each of the columns actually means:
- Hard Faults – Also called Page Faults, this sounds bad, but it actually means that the application tried to access something in RAM that had been paged out to the paging file. If you are seeing a lot of hard faults, you need to think about upgrading your RAM.
- Commit – This column lists out the amount of space the application has needed in the paging file. It’s worth noting that applications will always use and reserve a lot of space here, even in ideal scenarios.
- Working Set – This is the actual amount of memory that the process is using in RAM. You’ll notice that this column is the same as Shareable + Private.
- Shareable – This is the amount of the working set that is or can be shared with other processes. This is also the part that can be given up if there isn’t enough RAM.
- Private – This is the amount of RAM that your application is using that can’t be used by other processes.
The Network tab is very useful, with features that you normally need the command prompt or third-party utilities to do: You can see a list of current TCP connections, and even see what processes on the computer are currently listening on a port, and whether the Windows Firewall will allow other computers to connect or not.
Saving Multiple Configuration Settings
You might find yourself using Resource Monitor for many different purposes at different times – for instance, if you want to quickly see which applications have open ports, you’d open Resource Monitor, choose Network, and then open up the listening ports panel and minimize the other ones so you can see it.
Or you might need to do something completely different, like search for handles, or see which application is using the hard drive the most.
Once of the great features that Resource Monitor has is the ability to position the panels the way you want them, and then save it as a configuration set. Just go to File -> Save Settings As.
Rather than using Load Settings, you can create a shortcut to the settings file to open that specific configuration set. Or you can use the Jump Lists feature by right-clicking on the icon and choosing one of the recent items in the list.
And, since you can open multiple instances of Resource Monitor, this is especially useful.