Tuesday, November 26, 2013

Life with a hibernating computer

I'm guilty. I used to keep my computer on overnight and pretty much all the time. I would go weeks without rebooting my computer. I can do that because I run Linux. But even with Windows, I could go a few days without rebooting because I was too impatient to wait for my Windows computer to boot. All of that has changed of late and I've made a little discovery that I would like to share with you.

Many of you know that I use Linux at home. I use a Windows workstation at work and every day, I see the limitations of Windows. Two notable limitations are Windows is slow to boot and has unpredictable results in hibernate mode. Microsoft seems so uncomfortable with people putting their computers into Windows hibernation mode, that they've hidden the interface to allow hibernation and turned off hibernation mode by default.

What is hibernation? When a computer is set to hibernate, the contents of the memory are cached on disk and the state of the computer is frozen, so to speak. Once that is done, the computer can safely power down, completely. I have wanted something like that for a long time, but I didn't trust the computers I've had in the past enough to do it, even with Linux and especially with Windows computers. And as many of you may know, Window needs to be rebooted almost on a daily basis for a positive experience. I guess Microsoft recognized these inconvenient facts about Windows and decided to turn off the hibernate feature by default.

In recent months, I bought a modern computer, a Dell XPS 8700. It has a top of the line CPU, 1 TB of hard disk space, 12 GB of RAM and a graphics card that could double as a supercomputer of a decade ago. This is my computer for the next five years.

Lately, I've gotten into the habit of allowing my daughter to play on the keyboard. She sees what we're doing and wants to be like us. So I let her play with a word processing document so she can see text appearing on the screen when she presses a key. For whatever reason, she really enjoys the cause and effect that she sees when she is on the keyboard. Then after pressing keys for awhile, she will reach for the mouse and move it around, with a furrowed brow, looking really important and busy.

One day, she saw the little round key with a half moon on it - that's the hibernate key on my keyboard - and she pressed it. Down my computer went. The screen was locked and the computer powered down completely in about 3 seconds. She was bewildered. But she was braver than I, because I was not brave enough to use that key before. I thought I would have to power up the computer again with the power button. I couldn't have been more wrong.

We both looked at the blank screen and wondered what to do next. So I did the most logical thing. I pressed the enter key. In about 5 seconds, my computer was back up and running, ready for me to unlock my Gnome session on the computer. I was amazed.

I looked around and saw my browser with many open tabs, was intact, Pandora continued playin where it left off. The virtual machine that was running in Virtualbox was intact, running just like it was before. The LibreOffice Writer document, still open, not even saved to disk yet, was just fine and ready and waiting for Emily to type on and on. I was floored.

So I decided to try an experiment. Every night, and every time I'm away from the computer for extended periods of time, I'm going to use the hibernate feature. I've been doing this for more than a week, I have to say, this is very cool for many reasons.

First, there is the power savings. While I'm sure that the CPU goes into low power mode, the disk is still spinning and RAM needs energy to keep activities going, even when the computer is not in use. Second, I like to have something like a firewall when I'm away from the computer and the computer is on. Hibernating the computer turns off everything. The disk, the CPU, the network - all of it goes down and it goes down efficiently.

When I go to sleep, I set my computer to hibernate. Before I leave for work, I hibernate my computer. When we go out to run errands, I hibernate my computer. If I know I'm just going to the next room to watch a movie and no one else will be using my computer, I hibernate it. Each time I revive my computer, everything is still there, just as I had left it. A bunch of tabs in Chrome, that Writer document is still open, my terminal for command line operations, still open. It's like my computer goes into a sort of stasis.

The best part is that hibernating Linux is not a crapshoot like with Windows. There is very little risk of corrupting data on the disk. Why? Because Intel, and hundreds of open source programmers have looked at the code, tested it and made sure it works they way it should work. Open source software is a beautiful thing. It seems like such a little thing, but it makes life better, a little easier.

No comments: