View Single Post
30 May 2010  

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
Exactly WHAT activity WILL prevent hibernation?

Ok... I'm confused as to why my machine DID go into hibernation, when I was in the middle of running a backup job (to tape).

Win7 Pro x64 is the environment.

I've got hibernation set at 25 minutes. This machine is also used as an HTPC and I don't want it actually running during the day when either (a) I'm not sitting there actually working on it, or (b) it is not doing any TV recording.

Even when all non-OS drives are spun-down (manually, by me using HDDScan, since because of a second unresolved issue I can't figure out why Win7 won't do that for me when their 15 minutes is reached whereas WinXP did do that) my machine still uses about 340 watts of power (about 380 watts are used when the drives are all spun up). I'd just as soon put it in hibernation when not in use, and then wake up automatically when TV recordings are scheduled to be made.

===> hibernation is set ON, after 25 minutes... which I assumed to mean 25 IDLE MINUTES!!!

Well yesterday, I started a normal periodic backup job (to DDS6 tape) using Novastor's NovaBACKUP product, and this particular job runs for about 1 1/2 hours. First time I've run the job when also having hibernation-after-25-minutes enabled.

Imagine my surprise when I came back later to discover the system in hibernation, which apparently had been initiated DURING THE BACKUP JOB!!! The backup job itself had been killed by Win7 (or more accurately, apparently by a fatal I/O error which occurred in the middle of it as hibernation was initiated).

Obviously I did not have any expectation that an ongoing "background job" (not a service or task, but an actual "job") that simply did not involve any mouse or keyboard would allow Win7 to still believe the environment was "eligible for hibernation". This was obviously NOT my intent or understanding, as to what kind of "idle" the system had to be in before sleep/hibernation would even be considered possible.

Sure, I can temporarily disable hibernation when running this backup job or program. But what if I were running a long-running "render" (or VirtualDub "save as AVI..." function) which took many hours? Obviously, these too are examples of programs which (a) use perhaps 100% of the CPU and (b) do a great deal of I/O to hard drive.

How can Win7 conceivably believe the system is "idle and eligible for hibernation" when these kinds of 100% resource consuming background jobs are running???

And yet it does seem that recording TV programs defines an "activity that DOES prevent sleep/hibernation", so at least that kind of program activity is obviously something that CAN successfully inhibit hibernation. (don't know if only WMC does this, or also if BeyondTV would benefit from the same "feature"?)

So... what are the real definitions of the kinds of program activity which CAN inhibit hibernation? I could certainly request NovaStor to make an appropriate change to NovaBACKUP in order to prevent this kind of unintended consequence of starting a backup job but getting clobbered by auto-sleep/hibernate.

Just as there are ways for a program to provide an option to manually inhibit screensaver from kicking in if that's appropriate (e.g. when watching a movie or video), it would also seem that there must be some kind of system service function a program could call that says "inhibit sleep/hibernate" until I say otherwise.

My System SpecsSystem Spec