How do I troubleshoot a Windows freeze or slowness?

A machine is described as being "really slow" or "freezing". How can I troubleshoot/resolve this issue? What should be the first steps to take?


Solution 1:

Assuming you are using a Windows OS...

Things to check:

  1. PC has 10% at least of free disk space
  2. PC has at least 1 GB of RAM for Windows XP and 2 GB for Windows Vista
  3. If there are any hanging programs or drivers.
  4. Corrupt system files. If that is so, run sfc /scannow in cmd and let it replace any corrupt system files. It may ask for your Windows CD. Or, if it is seriously damaged then perform a Windows XP repair install or Windows Vista repair install
  5. A badly corrupted file system. This is from experience rather than knowledge. Run chkdsk /r in the command prompt.
  6. Due to the way Windows handles files, it will in inevitably get slow over time. Your MFT structure gets bigger and bigger over time. The only cure is a fresh install.
  7. Malware. Download and run HijackThis, and then post the log here. It'll give us a decent idea of what's running and what could be hogging all your memory/CPU.

Solution 2:

Most system freezes (where you can't use hot-keys like CTRL+ALT+DEL) are caused by hanging drivers,
so you will have to either replace the device or update the driver. Troubleshooting can be done:

  1. Download Windows Performance Analyzer for your Windows version.
  2. Install the software on your system.
  3. Open a command prompt as administrator, and copy paste the next command:

    xperf -start perf!GeneralProfiles.InBuffer && timeout -1 && xperf -stop perf!GeneralProfiles.InBuffer myTrace.etl
    
  4. Press ENTER once to start the command, now you will have to wait till your system hangs.
    You can do whatever you want to. Please no heavy activity like gaming or private things...

  5. Right after your system stops hanging you go to the console and press ENTER.
  6. After waiting some time a log file myTrace.etl will be produced, compress this to a zip file.
  7. Put this compressed version of the file somewhere online (perhaps 2shared).
  8. Share the link here, I will do an attempt to find and show you the cause of your problem.
  9. OR troubleshoot the trace yourself using instructions found here, start with step 6 - 7.

Solution 3:

First off, I check what is automatically started when the machine boots up.

  • Autoruns
  • Registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • msconfig
  • Run -> services.msc This will list all the services that are started up when your machine turns on. You can manage all of them here from this MMC snap-in.
  • Scheduled Tasks

I will then run process explorer and see what is running after it is booted and see what hogs up a lot of memory and CPU.

  • Process Explorer
  • Process Monitor
  • Task Manager

I will then make sure all the drivers are up to date, same with anti-virus, windows update and other critical applications such as web browsers, java, flash, etc.

  • Java Runtime
  • Flash Player

Then I will defrag their hard drive if it needs to be done.

  • Disk Defrag

Sometimes I will clear out their web browser history and cookies and also clean out their temp folders.

  • CCleaner
  • Disk Cleanup

I will also look through the event viewer to see if there are any errors being reported and check into them if they do.

  • Event Viewer

If all else fails and the system will support it, a RAM upgrade may be in order.

Solution 4:

(assuming for a moment, we are talking about Windows)

If your computer is suddenly running slow (i.e. you don't just have a slow computer), I would check the Windows Task Manager.

  • Type Ctrl-Alt-Delete to bring up the Task Manager.
  • Select the 'Processes' tab at the top to bring up the list of all processes running on the computer.
  • Click on the 'CPU' column at the top of the process window... twice (to sort processes with max CPU usage first).
  • See if anything (other than "System Idle Process") is taking more than a few percent CPU consistently.

Virus scanners or other background services can sometimes become overzealous in using system resources. Sometimes an application can enter a race condition where it gets "stuck" in some loop of code it just runs continuously. Then, sometimes, you just have some application you forgot about taking up all your CPU time.

The Task Manager should tell you if anything like this is going on.

Solution 5:

In this order usually...

  • Hardware - Hardware is the fastest and easiest thing to check that is usually the culprit. Memory is cheap these days, seeing people that still have 128 MB and 256 MB installed makes me want to cry. With Moore's law being so apparent in the hardware world, CPUs that are still blazing fast and can be bought very cheap as well.
  • Software clutter - the amount of software installed and running upon system startup impacts performance big time. There may also be malicious software slowing you down.
  • Updated drivers - these can give your machine big performance boosts.

A good pass of a defragmentation program, CCleaner, and a virus scannner and malware scanner is beneficial as well.