[SOLVED] Write caching slows down boot

Specifications:
Operating System: Windows 10
Motherboard: MSI Gaming Plus Z370
Processor: Intel Core i7-8700K @5.0 GHz
Memory: Corsair Vengeance LPX 4x8GB @4000 MHz
Graphics: Asus ROG Strix Nvidia RTX 2080 Ti
Storage: Samsung 970 Pro 500 GB [OS]
Storage: Western Digital Black Performance 6TB [Steam Games]
Storage: Western Digital Black Performance 6TB [Microsoft Games]
Storage: Samsung 850 Evo 500GB [Emulators]
Storage: Samsung 850 Evo 500 GB [Portable Programs & Other Content]
Cooler: Noctua NH-D15
Power: Evga Supernova 850 P2 80+ Platinum Modular

With write caching enabled on all drives, Windows takes about 15 seconds to boot. With write caching disabled on all drives, it takes less than 5 seconds. Is there a reason this is slowing down my machine so much? Thanks.
 
Solution
In windows this is using ram for async writes. if you turn it off on your drives that don't have many random writes then it will save you same ram space. I would keep this turned on for your SSD drives. A lot of SSD also have some ram for this purpose.

The changes in boot times don't make a lot of sense. you probably aren't writing much and you have a lot of ram.

With it disabled on every drive you will likely have extreme slowness. expensive servers have battery backed slog devices that use mirrored ECC ram. They cost like 5k each. this is the only way to read logs right before a crash. nothing else can write fast enough and keep the data.
Write cache disabled won't do any harm to your system. In fact, just the opposite. Without write cache enabled, you don't have to worry as much about power loss corrupting data. Also, I have tried this method on several machines causing them to boot in less than 10 seconds for each one, including some systems from the 2007 era.

  1. Enable Hibernation (hibernation file is about half the size of your memory - 32 GB = 12.7 GB, 8 GB = 3.12 GB. I don't have a 16 GB system to test.)
  2. Power Options -> Power Buttons -> Enable Windows Fast Boot
  3. Advanced System Settings -> Adjust Aero Effects for High Performance. Except that sexy translucent rectangle on desktop. Keep that enabled, because it matters.
  4. Disable System Restore (Only on backup computers or computers you don't care much about)
  5. Disable Disk Cache on all Disks. You will see zero performance loss (except maybe when transferring large files) and Windows will shutdown and boot faster.
  6. Power Options - > Power Plan - > High Performance / High Bitsum Performance if enabled.
  7. Disk Optimization - > Run once a week
  8. Disk Cleanup - > Run once a week
  9. Control Panel - > Programs and Features -> Turn Windows Features on or off -> Turn off Internet Explorer
These are all of the tweaks I used and my performance has never been better.
 
In windows this is using ram for async writes. if you turn it off on your drives that don't have many random writes then it will save you same ram space. I would keep this turned on for your SSD drives. A lot of SSD also have some ram for this purpose.

The changes in boot times don't make a lot of sense. you probably aren't writing much and you have a lot of ram.

With it disabled on every drive you will likely have extreme slowness. expensive servers have battery backed slog devices that use mirrored ECC ram. They cost like 5k each. this is the only way to read logs right before a crash. nothing else can write fast enough and keep the data.
 
Solution
It actually does make a bit of sense. If every boot windows has to start the cache and every shutdown it has to clean the cache, don't you think this slows down the process? After turning it off, I haven't had any issues. I rarely send large writes anywhere, and if you think about it, either way, those writes have to be written to the drive eventually, and if you are using the drive up until shut down, your shutdown time is going to be horrendous. For someone with a fast paced schedule and always on the move, it's important to be able to start quickly and shutdown with peace of mind.
 
Well...update to this post. I am not against saying I am wrong. Although my above post could hold true in certain situations, it appears I was wrong.

At first, yes the write cache was increasing my boot times by almost 10 seconds. But I thought, why not try enabling it and seeing what happens? Well, boot time is the same this time around, less than 5 seconds flat.

Honestly, I don't know why it was killing my boot times initially, but if anyone has a long boot time in the future, why don't you try out my above method? 6 drives increases boot time, but no more! lol

Thanks for your help everyone.
 

Karadjgne

Titan
Ambassador
Hiberfil.sys is what runs hibernation. It also runs fastboot. It apportions @ 75% of your ram size from C, so on a 16Gb ram system, kiss @12Gb goodbye. This was important on the smaller SSDs like the 120-128Gb versions. The gimmick with hibernation is that it's absolutely useless. Windows is a cross platform OS, if you have doubts, just look on a pc power plan and figure out why you'd be looking at battery saving functions. Hibernation is solely for use with laptops/notebooks running Windows for saving battery power when opening/closing the lid. Even then, it's primary function was to lower hdd usage, not ssd.

So it's perfectly acceptable to get rid of hibernation on a pc.
 
Hiberfil.sys is what runs hibernation. It also runs fastboot. It apportions @ 75% of your ram size from C, so on a 16Gb ram system, kiss @12Gb goodbye. This was important on the smaller SSDs like the 120-128Gb versions. The gimmick with hibernation is that it's absolutely useless. Windows is a cross platform OS, if you have doubts, just look on a pc power plan and figure out why you'd be looking at battery saving functions. Hibernation is solely for use with laptops/notebooks running Windows for saving battery power when opening/closing the lid. Even then, it's primary function was to lower hdd usage, not ssd.

So it's perfectly acceptable to get rid of hibernation on a pc.

I do not blame you for being quite skeptical about using hibernation on a desktop. However, you are wrong about the file size of hibernation. Maybe when it was first implemented it saved 75% of the memory to the hibernation file, but now it can save a minimum of 50%, and the file is compressed a little to save some space. It uses 12.7 GB with 32 GB of memory, and chances are most people have less than this, which means <10 GB of space on the boot drive (which just happens to be 2.4% of my disk space) will be taken up by a system file that can reduce boot times by more than half. For most people, the hibernation file would take up less than 1% of their drive for several seconds (or minutes on slow computers?) deducted from boot times. In fact, I have a Dell XPS 410 (QX 6800 + Kingston A400 + 1050 Ti + 8 GB DDR2 @800 MHz) that took up to 40 seconds to boot with the Kingston A400 SSD. Now it boots in under 10 seconds, and the hibernation file uses 3.12 GB with 8 GB of memory on a 120 GB SSD (2.6% of the drive) to save about 30 seconds per boot.

While boot times don't matter that much, I would argue that it helps older computer feel more modern, and expensive desktops feel more worth the expense (pardon the pun). In any case, it depends on preference of the user more than anything.

Another example of user preference is Write Cache Buffer Flushing, disabling this can vastly improve performance, at risk of losing data in a power outage. Now while most people would think to use this for the boot drive, I am using it for my two gaming HDDs, where if data is lost, it wouldn't be an issue, more of an annoyance. Loading times for games improved somewhat, though not enough for most people to constitute keeping the setting on I'd reckon. (about 6-7 pages of GTA V loading screens to 2-3)
 
Last edited:

Karadjgne

Titan
Ambassador
Windows reserves disk space for hibernate in the hibernation file, which is named Hiberfil.sys. For Windows 7, the default size of the hibernation file is equal to 75 percent of the total physical memory on the system. For example, on a computer that has 2 GB of RAM, the default hibernation file size is 1.5 GB.
https://superuser.com/questions/746290/what-happen-if-we-reduce-the-size-of-hiberfil-sys

You can change the default size. I'm guessing you changed yours sometime in the past, but hibernation is 75%. Applies to Win7 or newer any version.
I have 2 pc's, one with 8Gb and the other 16Gb. Deleting Hyberfil.sys released @ 6Gb and 12Gb respectively on the 128Gb Samsung 840 Pro's I have as boot drives.

You also may not have released the full 75% because you still retain Hiberfil.sys in its usage for fastboot. Mine is deleted totally, not just hibernation disabled.
 
Last edited:
https://superuser.com/questions/746290/what-happen-if-we-reduce-the-size-of-hiberfil-sys

You can change the default size. I'm guessing you changed yours sometime in the past, but hibernation is 75%. Applies to Win7 or newer any version.
I have 2 pc's, one with 8Gb and the other 16Gb. Deleting Hyberfil.sys released @ 6Gb and 12Gb respectively on the 128Gb Samsung 840 Pro's I have as boot drives.

You also may not have released the full 75% because you still retain Hiberfil.sys in its usage for fastboot. Mine is deleted totally, not just hibernation disabled.
By default, on any new Windows 10 installation, the hibernation file should be at the minimum of 50%, it was on all of mine.