11

I have seen many articles about tweaking an SSD, but many of them seem outdated, or too broad (read all Windows XP, Vista, and Windows 7 general tweaks). And I know that Windows 7 has been specifically tweaked for SSD by the Windows team, so I don't want to do something that was written for Windows XP in mind and end up circumventing something the Windows team has specifically designed in to Windows 7.

So my question is what are the best SSD tweaks for Windows 7 that you have found to get the performance out of your drive?

I hope to make a comprehensive list in the answers below so there won't be so much disinformation in the forums about what to do and what not to do.

So what tweaks do you recommend? And Why?

When providing an answer please do your best to back it up with a reason and possibly some documentation from MSDN, TechNet, or another credible source.

3
  • asking for best-practices is fairly subjective; there won't be a single right answer. i do see the value of the question though. converting to community wiki. May 5, 2010 at 13:43
  • @quack quixote, that is why I asked for documentation from a creditable source to actually back up the best-practice, so that people can make an informed decision about if it fits their needs and their system. May 5, 2010 at 14:58
  • We've written a post about this on the Super User Blog, see Maximizing the lifetime of your SSD. May 12, 2011 at 16:39

4 Answers 4

10

I'm going to go against the grain so far and go with this: You've already linked to the E7 blog post detailing some of the questions you're asking and why they're done. Why you're asking a user community for reasons to disregard this information baffles me.

  1. Disable SuperFetch? Let the OS do it
    • The E7 blog post you linked explains that SuperFetch is automatically disabled on systems with SSDs that don't have major performance anomalies. SuperFetch is a trick to use system memory to hide disk latencies on random read workloads. You don't need to do this on a system with an SSD. Releasing that memory for general use by the file cache is going to have a more beneficial effect on a system with an SSD than the negligible performance increase of prefetching application data, since the file cache can cache writes as well as reads.
  2. Page File Limiting? Maybe
    • If your SSD is extremely space limited (e.g. 40-60 GB and you like to game), then there may be some benefit in overriding Windows 7's default settings and making the default page file size for your SSD be relatively small with the ability to grow if needed. Keep in mind that any secondary drives are also going to have page files on them and the OS will use them if needed. Otherwise there is little to gain by limiting the page file.
    • Another (possibly more useful) avenue for freeing up space on an extremely space limited SSD is to disable Hibernation. This comes with its own set of trade offs that may or may not be worth the changes it forces, particularly with laptops.
  3. Disable Indexing? Only If You Were Going To Anyway
    • No matter how fast trying to read your entire hard drive is, it's going to be faster if there's a small index that could be searched first. If you're the type of person who's going to disable indexing for whatever reason no matter what, then go ahead. Otherwise leave it alone, just like you would have on a regular hard drive. UltraSearch and Everything are slick apps for searching for files by name since they'll parse the MFT directly, but that's not all Windows Desktop Search does.
  4. Disable Defrag? Let the OS do it
    • Again, the E7 blog post details this. The extra write load isn't good for your SSD's overall health and provides no real benefits on SSDs with decent controllers. If you manage to push an SSD into a degraded state, imaging the drive, doing a secure erase and restoring the image are going to be far better for your SSD than attempting to defrag it.
1
  • Another option is throwing the page file onto a secondary drive, if you're running one. I use an SSD as a boot drive and for all my apps while storing my media (and the page file) on an HDD.
    – Emory Bell
    May 19, 2010 at 0:05
6

Okay, I have to agree with Fujishiro but think that it just needs a bit of clarification...

1: I wouldn't disable Superfetch as it's not the part that makes excessive use of your SSD, yes it does a lot of reads from the SSD but it's the act of writing that will degrade the drive. The part that you may be confusing it with is Readyboost which uses a USB memory stick to give a performance boost on memory starved systems. With SSDs reads are cheap, writes are expensive. Superfetch is mainly a read only system with some accounting data to tell it what to pre-load. The speed boost to your system is worth the very small amount of files it creates, and it shouldn't need to update them often at all, which would possibly be when a program is updated but that should be it. From your link it looks like if Win7 finds a fast enough SSD then it will disable all the prefetchers for you as they're not needed.

2: As Fujishiro says there is little point in disabling the pagefile as on high memory systems it is less likely to be hammered (my system has 6GB of ram and it claims that 177MB of it has been paged, not a big deal) but it might save you when you have a runaway application and it has some critical data you have to have saved. If you have plenty of RAM and know it'll neve use it all then feel free to disable it and prove us wrong. Your article gives some good information on why you shouldn't need to disable to pagefile as well.

3:I would probably disable Windows Indexing, but then again maybe not.... At least enable it only when you need it, some time ago I found a Vista Sidebar gadget that you can use to control it but haven't had a chance to find it again. It may cause a small degradation over time if left on, but I doubt it would be a massive amount of updates after the system is fully indexed for the first time. The benefit in speed of finding the file I'm looking for may be more than the imperceptible life shortening the SSD would experience.

4: Kill defragmentation on that drive. The whole point of SSDs are that the seek latency is near nonexistent compared to HDDs so defragmentation is not anywhere near as much an issue as with HDDs. SSDs also more than likely hide their true file system behind a wear leveling system hidden on the SSD controller so what you think are two contiguous blocks may not be physically side by side on the SSD flash chips, it makes defragmentation rather pointless as it may only increase physical fragmentation on the device and only provide the benefit of making the Windows file system look more pretty.

More than that I'd think that Win7 is pretty well optimized for SSDs, at least that's what Microsoft told me ;)

4

I got a significant boost in measured performance on my Intel X-25 SSD by enabling AHCI mode for disk access. I found this suggestion on TheSSDReview.

Note that when I first tried to enable AHCI in the BIOS, this caused Windows to blue-screen on startup. I disabled the AHCI drivers in the Registry by setting the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msahci” entry to 0 (as instructed in the linked article), and the drivers were successfully reinstalled when I next booted in AHCI mode.

I got some big increases in random read speeds after making this change (measurements from CrystalDiskMark, before -> after):

Sequential Read :   221.639 MB/s -> 252.974 MB/s
Sequential Write :    81.228 MB/s -> 77.782 MB/s
Random Read 512KB :   153.484 MB/s -> 195.311 MB/s
Random Write 512KB :    41.364 MB/s -> 44.359 MB/s
Random Read 4KB (QD=32) :    20.612 MB/s -> 157.102 MB/s
Random Write 4KB (QD=32) :    25.204 MB/s -> 36.540 MB/s
3
  • Be sure the alignment is correct.
  • and you have the right driver MSAHCI
  • Check fsutil behavior query DisableDeleteNotify to be = 0
  • be sure superfetch is disabled
  • control the activities of media player
  • disable windows defender
  • disable boot-time defragmenting (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction)
  • stop windows-search
  • activate write-cache
  • deactivate hibernate
  • probably disable timestamp (FSUTIL behavior set disablelastaccess 1)

just my 5 cents.

Not the answer you're looking for? Browse other questions tagged .