"Have you tried rebooting?"

It's technical advice that gets thrown around a lot, but there's a reason: it works. My own personal experience has been that a simple reboot can fix a computer issue 80-90% of the time, whether that issue is related to networking, graphics, slow performance, or faulty programs. And it's not just issues with Windows that respond well to a reboot; this method works for a wide range of devices, including smartphones and routers and even software.

Why is this solution so prevalent? What is it about computing devices that makes rebooting so effective? And why can't these problems be fixed while the device is running? Read on to find some answers.

Common Issues Fixed With A Reboot

To help you understand the more complex underlying principles that are at the basis of why it takes a reboot to make things work again, we'll start with the symptoms and the most likely basic causes you already know.

Symptom: The computer slows down or freezes.

Cause: Memory leaks.

Solution: Stop software or reboot.

Symptom: Windows Blue Screen Of Death

Cause: Driver or hardware error.

Solution: A reboot is enforced.

Symptom: WiFi stops working.

Cause: Driver crashed or router software causes a problem.

Solution: Reboot or perform a power cycle (unplug power for 30 seconds) on router.

reboot-computer-errors

Taken together, something stops working, which causes problems, and the fix is to start from scratch.

The root cause can often be attributed to human error. Computers are designed and programs are written by humans. If humans are fallible, why should the things they create be without fail? All man made things have the capacity to be flawed and as a computer's complexity increases, so does the number of flaws. Now what exactly are those flaws?

How Does Rebooting Fix Memory Leaks?

When you first boot the computer, you can think of it as a clay market place. The clay represents the various resources that are available on the computer, such as memory. The operating system handles the clay (among other things) and distributes it to programs when necessary.  Theoretically, this loop could go on forever without issue. The problem is, some programs waste the commonly used resources.

Clay Distribution

In order to run, a program must receive some clay from the computer and it becomes the program's responsibility to account for all of that clay. The ideal program would clean up the clay and return it to the computer when it finishes, allowing the computer to distribute the clay to other programs in need.

Now imagine that there are 3 programs, each with their own share of clay. One returns all of the clay without issue. One leaves a chunk of clay on the ground and only returns half of the clay to the computer. The last one loses its clay and returns nothing to the computer. Now the computer has less clay to distribute.

Over time, as flawed programs fail to return all of the clay they've been given, other programs need to wait longer and longer for their share of resources. This is where memory leaks, program lag, and runtime errors come from.

reboot-computer-restart

So your computer has been running for a few hours and now it's slowed to a crawl. If we assume that the cause is due to poor clay management (which it most likely is), then what can we do to fix it?

One solution would be to take away the responsibility of clay management from the programs and leave it with the operating system. When the operating system detects lost clay, it retrieves it. The problem is that this process, known as "garbage collection", can be processor intensive and would impact operating system performance, hence it's uncommon.

The other solution is: reboot!

By rebooting, everything is reset to its initial state and the operating system begins fresh with a full block of clay. Then, as programs start running and asking for clay, the whole procedure repeats itself until another reboot is later necessary.

This phenomenon can be applied to software, too. For example, your web browser. Ever notice how Chrome or Firefox can get laggy when they've been open for hours at a time? That's because those browsers are flawed AND they have flawed addons. Restarting is one way to speed up a slow browser.

How Does Rebooting Or Power Cycling Fix Other Issues?

Basically, the same principle that applies to resource management also applies to issues with drivers or low-level error: All evidence of the error is wiped away and the computer starts with a clean slate.

reboot-computer-slate

Your WiFi router, for example, is run with software, just like your computer. A power cycle, i.e. completely turning the router off for at least 30 seconds, will clear its cache and reset the software.

Jerrold Foutz, an expert in the design of power supplies, offers another interesting view on how a reset can fix electronic devices, including household items:

In hardware, there are many causes for what is called a Single Event Upset (SEU). A power glitch, a cosmic ray passing through an integrated circuit (IC), or an alpha ray from the plastic IC package, can all cause an SEU, possibly changing a logic state (1 to 0 or vice versa), or triggering latchup in the pnpn layer most ICs have. In software, the computer can get caught in an infinite loop.

In other words, random events can put electronic devices into an odd state that renders them useless. Jerrold explains that one state which all functioning devices can recover from is the power-off-state. And hence he recommends to turn the device off, unplug the power, remove the battery, wait for a set amount of time, then plug the power back on and restart.

Why Do Some Issues Mandate A Reboot?

In the case of poor resource management, it is possible to manually track down and close offending programs. But other issues simply cannot be fixed while the computer is running and the answer why can be quite philosophical. Einstein recognized that problems cannot be solved from the same level of awareness that created them. In a way that's also true for computers. Why?

Einstein Quote

Computers are finite state machines that constantly need to monitor for events and respond accordingly. They operate on an infinite processing loop to stay alert for new events, even when idle. Events can be anything from plugging in a mouse to loading a program to shutting down. Each event leads to a change of state.

One reason for a reboot is that, depending on your operating system, the infinite loop can't be modified while it's already running. That's why driver installations and Windows Updates often require a system reboot - to change the way the operating system works at the most basic level. Hopefully, you won't enter into an infinite reboot loop.

If an error affects this infinite processing loop, only a reboot can set it back to its known state, from where it will work again. Barring the fact that computers lack consciousness (at least as far as we know), this is pretty much the opposite of what Einstein meant; the "awareness" doesn't progress, it's reset. So maybe "ignorance is bliss" would be a more apt analogy.

And It All Comes Back To What Is Known

This article can only scratch the surface of what can go wrong inside your computer that can be fixed by a reboot. Sometimes it just works and even the experts can only guess why. Basically, a reboot works because everything returns to its original state. In this familiar state, the system knows where to start, like a game of chess, after you forgot whose turn it was.

Apart from being a quick fix to many issues, rebooting also is a troubleshooting step. If the issue persists after rebooting, the underlying cause might be much more serious than a random error. Problems such as corrupted software, presence of malware, or failing hardware are rarely fixed by restarting.

Which devices and symptoms have you successfully fixed with a reboot?

Author Credit: This article was co-produced with Joel Lee.

Image Credit: Computer Comic via ShutterstockWoman with Clay by Marshall Astor via Flickr, Ctrl+Alt+Dlt via ShutterstockSlate Board via ShutterstockEinstein Quote by QuotesEverlasting via Flickr