Objective
Use Task Manager like an investigator. You will turn on the hidden columns, read the graphs, make a harmless CPU spike on purpose and find the process that caused it, and check your startup list. Almost everything is looking only. The one thing you change is a test program that you start and close yourself.
Time: 25–30 minutes
You need: A Windows 10 or 11 PC. No extra software. (Notepad and PowerShell are enough.)
What to Open
| Tool | How to open it |
|---|---|
| Task Manager | Press Ctrl + Shift + Esc (or Win + X, then Task Manager) |
| PowerShell | Press Win, type PowerShell, press Enter (normal, not admin) |
| Notepad | Press Win, type Notepad, press Enter |
Part 1: Turn On the Hidden Columns
- Open Task Manager. If you see a small window, click More details.
- On the Processes tab, right-click any column header and tick: PID, Command line, Power usage, Power usage trend.
- Go to the Details tab. Right-click a header, choose Select columns, and tick: Base priority, Architecture, Session ID, Threads, Handles, CPU time.
Now fill in the facts about your PC from the Details tab:
- PID of
System: ________________ (hint: a very small number) - PID of
System Idle Process: ________________ - Session ID of
System: ________________ - Session ID of
explorer.exe: ________________ - Architecture of
explorer.exe: ________________ - Base priority of
explorer.exe: ________________ - Number of threads in
explorer.exe: ________________ - How many
svchost.exerows are there? ________________
Part 2: Read the Performance Tab
Open the Performance tab and click CPU.
- Logical processors: ________________
- Cores: ________________
- Are logical processors double the cores (hyper-threading, Chapter 2)? ________________
- Base speed: ________________ GHz Current speed: ________________ GHz
- Processes / Threads / Handles: ________________ / ________________ / ________________
- Up time: ________________
- L3 cache: ________________
Right-click the graph and choose Change graph to → Logical processors. Then click Memory:
- In use: ________________ GB Available: ________________ GB
- Committed (first/second): ________________ / ________________ GB
- Paged pool / Non-paged pool: ________________ / ________________
- Slots used and form factor (if shown): ________________
Click Disk:
- Type (SSD or HDD): ________________ Active time right now: ________________ %
- Average response time: ________________ ms
Part 3: Make a CPU Spike and Catch It
You will make one logical processor busy for a short time, and then find it.
- In Task Manager, open Performance → CPU and set the graph to Logical processors.
- Open PowerShell and run this line. It makes a busy loop that runs for about 20 seconds and then stops by itself:
$end = (Get-Date).AddSeconds(20); while ((Get-Date) -lt $end) { }-
While it runs, look at the graphs.
-
Which graph(s) showed one logical processor rising high? ________________
-
Overall Utilization while it ran (about): ________________ %
-
Open the Processes tab and sort by CPU. Which process is at the top? ________________ (hint: it is Windows PowerShell)
-
Expected CPU % for one busy thread = 100 ÷ (number of logical processors) = ________________ %
On the Processes tab, right-click the process and choose Go to details. On the Details tab, look at its CPU time and Threads.
- PID of the PowerShell process: ________________
- Command line of the process: ________________
After 20 seconds, the loop ends. Check that the graph falls back down.
Part 4: Identify a Runaway Process
Imagine a program that will not stop using the CPU. Here is the checklist an expert follows:
| Step | What to do | Why |
|---|---|---|
| 1 | Look at the Performance → CPU graph | Is the whole CPU busy or just one logical processor? |
| 2 | Open Processes, sort by CPU | Find the top process |
| 3 | Add Command line, read it | What exactly is it, and what started it? |
| 4 | Check Open file location | Does the file live in a normal place? |
| 5 | Try End task on the app (not a Windows process) | Does the CPU calm down? |
| 6 | If it keeps coming back | Look at Startup and Services |
Safe practice with Notepad: Open Notepad, find notepad.exe in the Details tab, right-click it, Set priority → Below normal and confirm. Note the Base priority column. Then close Notepad.
- What did the Base priority column say after you changed it? ________________
- Did anything on your PC feel different? ________________ (Probably not: Notepad uses almost no CPU.)
Part 5: Check the Startup Ratings
Open the Startup tab (called Startup apps on Windows 11). Right-click a header and tick Startup type and CPU at start if they are there.
- How many items are Enabled? ________________
- How many are rated High? ________________ Medium? ________________ Low? ________________ Not measured? ________________
- Name one High item, and say whether you need it at sign-in: ________________
- For one item, read its Startup type (Registry or Folder): ________________
(Do not disable anything unless you are sure. The point of the lab is to read the list.)
Part 6: Services and Users
On the Services tab:
- Find
Spooler. Is it Running or Stopped? ________________ Its Description (display name): ________________ - Click Open Services. In the console, find the same service: Startup Type: ________________
On the Users tab:
- How many users are shown? ________________ How many processes does your row have (the number in brackets)? ________________
What Should Happen
- Part 1 shows that
Systemhas PID 4, Idle has PID 0, and system processes are in session 0 while your programs are in session 1 (or higher). - Part 2 gives you the hardware facts from Chapters 2 and 3, as the OS sees them.
- Part 3 shows one logical processor jumping while Utilization moves only a little (around 1 ÷ logical processors).
- Part 5 shows you which start-up programs cost the most.
Interpretation Guide
| What you see | What it means |
|---|---|
| Logical processors = 2 × cores | Hyper-threading (SMT) is on |
| One graph at 100%, others low, overall low | A single-threaded program is using a full logical processor |
| Overall CPU 100% for a long time | The whole CPU is the limit; find the top process |
System Idle Process high | The CPU is mostly free (that is good) |
| Memory "In use" high, Available also fine | Windows is using spare RAM as cache; normal |
| Committed close to its limit | Risk of out-of-memory errors |
| Disk Active time 100% with long response time | Disk bottleneck, often on a hard drive |
| Startup impact High | It slowed the last start-ups; consider disabling if not needed |
| Session ID 0 on a process | A system or service process (Session 0 isolation) |
Many svchost.exe rows | Normal: services each live in a Service Host process |
Follow-Up Questions
- In Part 3, why did Utilization not show 100% even though one thread used a full logical processor?
- Your PC has 8 cores and 16 logical processors. What is the highest Utilization you would expect from a program with one busy thread?
- In Part 2, why can Committed be larger than In use?
- Why is the start-up impact rating not enough to tell you how heavy a program is later?
- Name three facts from this lab that you could not have learned from the Processes tab alone.