Windows Optimization for Using an SSD: Myths and Reality

    When the whole Internet is full of holivars on the topic “SSDs are unreliable” and “SSDs are so fast that I will never work with HDD”, I think it's time to bring some clarity to that sea of ​​conflicting information about the SSDs themselves and about setting up Windows to work with them .

    Who is interested, please, under cat.

    So I became the proud owner of this miracle of modern technology: OCZ Vertex 3 120 Gb. First, I booted into the old system and updated the SSD firmware, as the firmware program from OCZ does not allow updating the firmware when the drive is a system drive. I think updating the firmware is the first thing to do after acquiring an SSD, as as practice shows, there are plenty of errors in the firmware, especially in the new SSD models (compared to which Vertex 3 is no longer the newest :)).
    Next, I decided to put a clean system on the SSD. Installing Windows 7 from a USB flash drive (USB 2.0) took about 10 minutes somewhere. Wow, I thought, before installing some heavy programs it took much longer, not to mention the operating system!

    From that moment on, you could just start using a super fast disk and enjoy your life, but I did not leave the paranoid feeling that my SSD would break quickly due to frequent rewrites. Indeed, the limited number of SSD rewrite cycles is not a myth yet. But everyone already knows that even a resource of 10,000 overwrites is very, very much with a disk capacity of 120 Gb. Depending on the controller, the SSD may also use various internal wear leveling technologies ., relocating data from one place to another, compressing recorded data (relevant for SandForce controllers) - the disk tries its best to work quickly and for a long time :) It’s almost impossible to influence this internal logic (unless by updating the firmware), therefore, when Choosing an SSD for some special tasks, you need to look for information on the logic of its controller.

    For those who take special care of the disk and take care of it, there are a lot of tips on the Internet how to reduce the load on the disk by recording from the operating system. These tips can be divided into useful, harmful and controversial.

    1) Transfer the directory for temporary files to a regular (HDD) disk

    The paths to the TEMP directories are located here:
    Computer - Properties - Advanced system settings - Advanced tab - Environment variables - TMP and TEMP (for the current user and general).

    Someone advises porting Temp to RAMDisk, but this is rather bad advice. This is due to the fact that some programs (including updates) write data to a temporary directory, then send the computer to reboot, and then expect that the data has not gone anywhere during this time. And RAMDisk is cleared by default upon reboot. But even if your RAMDisk supports saving data to an image and recovering from a reboot, this is not a panacea either. a situation is possible in which the RAMDisk service simply does not have time to start and initialize by the time the programs start accessing the temporary directory.

    2) Turn off hibernation

    This is pretty weird advice. On the one hand, disabling hibernation allows you to get rid of the hiberfil.sys file, the size of which is equal to the amount of RAM, and space on an SSD is especially expensive for us. Also, at each hibernation, a relatively large amount of data is written on the SSD, which "leads to wear and blah blah blah blah" ... The apologists of this council write, "Why do you need hibernation, because the system starts with SSD in a few seconds." But personally, I do not need hibernation for the sake of a quick start, but not to close (and not to open it again later) a hell of a bunch of applications that I constantly use, so the advisability of disabling hibernation is a big question.
    I would gladly move the hiberfil.sys file to another disk (on the HDD), but due to system limitations this cannot be done.

    3) Disabling system protection.

    Computer - Properties - System Protection - System Protection tab - Configure - Disable system protection.
    This can be done if you use at least some other means of system backup. Otherwise, there is a big risk of getting an inoperative system in case of some kind of failure.

    4) Disabling the swap file.

    This advice is the most heated debate and even Microsoft could not get a clear explanation.
    I consider this advice to be harmful and recommend transferring the swap file to a regular (HDD) disk (but by no means to RAMDisk :), why, I won’t even explain it - this information is easy to find on the network).
    Completely disabling the swap file is harmful from the following point of view. Some "very smart" programs (for example, MS SQL Server) reserve a virtual address space for themselves in very large quantities (in reserve). The reserved memory is not shown in the task manager, it can be seen, for example, in Process Explorer, by turning on the display of the “Process Memory - Virtual Size” column. If there is a swap file, the system reserves memory in it (i.e., a certain range is declared unavailable for use by other applications). In the absence of a swap file, backups occur directly in RAM. If someone can clarify in the comments (with links to reliable sources) how exactly this affects the work of other programs and performance, I will be very grateful.

    5) Disabling Prefetch, ReadyBoot, and Superfetch.

    5.1. Prefetch is a technology that accelerates the loading of systems and applications by proactively reading data from disk. It is relevant only for slow media. Since SSDs are okay with Random reads, Prefetch can be safely turned off.
    Prefetcher stores service data in C: \ Windows \ Prefetch.
    To disable Prefetch, you need to change the value of the Enable Prefetcher parameter in the registry key HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management \ PrefetchParameters to 0.

    5.2 ReadyBoot (not to be confused with ReadyBoost) is an add-on to Prefetch that logs the loading process to determine the order and composition of the data required when loading and based on these logs prepares the required data to speed up the loading process.
    The logs themselves are in C: \ Windows \ Prefetch \ ReadyBoot. Disabling Prefetcher does not stop recording these logs. To stop logging, you must set the Start parameter of the HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ WMI \ Autologger \ ReadyBoot key to 0
    Disabling ReadyBoot as a whole is relatively useless advice, because it will not give any increase in speed, unless it slightly reduces write to disk, because download logs (which are quite small, of the order of several megabytes) will not be kept.

    5.3 Superfetch is a technology for preloading frequently executed programs into RAM. Disabling it does not make sense, because Superfetch does not write to disk.

    6) Disabling indexing

    You can uncheck the box "Allow indexing the contents of files on this disk in addition to file properties" in the properties of the disk. This can reduce the size of the indexes that the Windows indexer builds, i.e. reduce the burden of writing to SSDs.
    The indexes themselves are in C: \ ProgramData \ Microsoft \ Search.
    You can also completely disable the indexer by disabling the Windows Search service.

    7) Transfer application caches to RAMDisk.

    By applications here we mean mainly browsers, because they are the ones who actively use the cache of visited pages. Transferring this cache to the HDD would be pretty stupid, because we need acceleration! And therefore, quite a good solution is to transfer these caches to a small (for example, 1 GB) RAMDisk (I personally use AMD Radeon RAMDisk, although despite the big name it is a product from Dataram).
    Each browser has its own way of indicating the location of the cache, this information is easy to find on the network.

    8) Disabling usn log file system NTFS.

    One of the controversial and controversial tips. On the one hand, I couldn’t turn off the usn log for the system partition. The usn log is also used by some programs (e.g. Everything ) to track modified files. If someone can comment on the usefulness of disconnecting usn, I will be very grateful.

    UPD 9) Disabling Disk Defragmenter

    Windows 7 itself must disable defragmentation for SSDs, so you don’t need to configure anything by hand.

    1. Even if you do not resort to any tips on configuring the system to work with SSD, Windows 7 will work on SSD a little less than excellent.
    2. Some tips will allow you to reduce the number of records on the SSD-drive, which can extend the already relatively long term of its work.
    3. Many tips will allow you to change some parameters without killing system performance, but without giving any practical benefit :)

    Other ideas and tips are highly appreciated! I hope that together we can distinguish between useful and harmful :)

    Only registered users can participate in the survey. Please come in.

    Already have an SSD?

    • 6.5% No and I'm not going to buy, because not required 431
    • 6.6% No and I'm not going to buy, because I am afraid of fragility 435
    • 33% No, but I intend to purchase 2175
    • 50.5% is and is used as a system partition 3330
    • 1.5% Yes, but not for system partition 103
    • 1.7% What is an SSD? 115

    Also popular now: