Windows Server How-To
How To Optimize Windows for Use with SSD Storage
While windows 8.1 does prioritize SSD storage, it may need some tweaking to get it working properly.
Recently, I decided to replace the PC on which I write most of my articles. The aging system was starting to lock up a lot and just wasn't reliable any more. My new computer runs Windows 8.1 and includes a 1TB SSD drive.
Soon after getting this new computer up and running I began to notice that it just wasn't as fast as I thought that it should be. I also noticed that the computer would occasionally hang when accessing its hard disk. After doing some research, I discovered that although Windows 8 is automatically optimized for SSD storage, there are some situations in which Windows 8.1 may not be SSD optimized. This is especially true if you decide to add the SSD after Windows 8.1 is initially installed. Some of those who have performed an in-place upgrade from Windows 8 to Windows 8.1 also claim to have had problems with SSD optimization.
The easiest way to optimize Windows 8.1 for SSD use is to right click on the Start button and then click on the Command Prompt (Admin) option. And then enter the following command:
Winsat formal -V
Please note that the command above uses Winsat Formal, not Winsat Format! You can see what the command looks like in Figure 1.
In case you are not familiar with the Winsat command, it is a built-in tool for assessing system performance. You can read more about the Winsat command at https://technet.microsoft.com/en-us/library/cc770542.aspx.
You might be wondering what is really happening when you run the command shown above. As you may recall, some older Windows operating systems provided a Windows Experience Index, which was a numerical score of system performance. Windows 8.1 does not include a Windows Experience Index. When you run the command listed above, Windows runs the same sorts of tests that it would use if it were calculating a Windows Experience Index.
From an SSD standpoint, the tests and the subsequent reboots cause changes to be made to prefetch, superfetch, and ReadyBoot.
When you boot your PC, Windows keeps track of the things that you typically open. The prefetch feature tries to optimize system performance by loading these items ahead of time. When a system is optimized for SSD, prefetch is disabled.
The Superfetch feature is also disabled for SSDs. Superfetch is another service that is designed to speed things up in a non-SSD environment. Superfetch tries to predict what is going to be needed next (from the hard disk), and reads it ahead of time.
ReadyBoot (not to be confused with ReadyBoost) is a mechanism for decreasing the amount of time required to boot a computer that is equipped with a slow hard disk. Optimizing a Windows 8.1 system for SSD disables ReadyBoot.
So I am sure that the big question on some of your minds is whether optimizing Windows for SSD use disables defragmentation. The short answer to the question is no, but that's a good thing. The idea that fragmentation does not matter for SSDs is a myth. SSDs do, of course, get fragmented just like a spinning disk, and there is a maximum level of fragmentation that the file system can handle. Of course Windows is smart enough to know that SSDs can only endure a certain number of write cycles, so Windows handles the defragmentation process in a manner that is appropriate for SSDs. Furthermore, the defragmentation process only occurs once a month. There is a really good write up on the subject here.
Oddly enough, the thing that made the biggest difference to the performance and stability of my system was disabling the Windows pagefile. The subject of whether or not the pagefile should be disabled has been hotly debated for a number of years. There are compelling arguments both in favor of and against disabling the pagefile. As a general rule, I usually leave the pagefile enabled. In this case however, I was experiencing lockups that appeared to correspond to disk activity, so turning off the pagefile seemed like a good way to reduce disk access.
Although disabling the pagefile did improve the speed and the reliability of my system, I later determined that I had a bad SSD. Disabling the pagefile reduced storage IO and therefore increased the system's speed because the system wasn't constantly having to retry read/write operations.
Even after I replaced the bad SSD, I decided to leave the pagefile disabled. The Windows pagefile was originally invented as a way to make up for a lack of RAM. My computer has 32GB of RAM and I use it primarily for word processing and Web browsing, so there is plenty of memory to spare. Disabling the pagefile reduces wear on the SSD and has my computer has been performing very well, so there don't seem to be any negative side effects (at least not in my situation).
About the Author
Brien Posey is a 21-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.