18

Every time I start my computer, I have to wait 15 - 20 minutes just for it to actually be usable because disk usage is stuck at 100% and causing high lag. I have no idea why, and I tried a few solutions like disabling Windows search.

The running processes also don't add up to 100%, sometimes the highest running usage is only around 16% but it still shows a total of 100%. Usually, system is the highest one though.

If it helps, I am on Windows 10 and have an HDD disk, computer was made in 2015.

Run5k
  • 16,463
  • 24
  • 53
  • 67
ITDW
  • 189

7 Answers7

25

First, 15 minutes startup is ludicrous, even with HDD. Some suggestions:

  1. In Task Manager on the Details tab, or using Sysinternal's Process Explorer (below), click on the column header and add columns, particularly for
    • Priority
    • I/O Reads
    • I/O Writes

Process Explorer: finding usage hogs

  1. Run Task Manager or Process Manager during startup -- you could even add it to a Startup folder. Note the I/O usage hogs.
    • csrss.exe, Client Server Runtime Subsystem would certainly be one, but it is a fundamental part of Windows and must be endured as is.
    • MsMpEng.exe is part of Windows Security, and at startup, it scans certain files. Though it is possible to run without a malware suite, it is highly inadvisable for Windows OS! Likely, any other free or commercial anti-malware suite will also cause the same issue. In the link above, you can find hints to reduce the frequency of scans. [If you want to run an OS that does not require such an anti-malware suite, consider Linux. On the PC I am now using, with HDD, Windows takes about seven minutes to boot and finish initial scanning for malware; Ubuntu about two minutes.]
    • Look for any other I/O "hogs". You should not have another anti-malware suite running in parallel with Windows Defender! Occasional scans by a stand-alone tool, such Malwarebytes, can provide reassurance, though.
    • It is possible to set an obnoxious high-priority process to a lower setting at startup. For example, the short script below, in a .bat file, decreases priority for StartMenu and StartMenuExperienceHost with no ill effect on my PC's (though I use the third-party Open-Shell to customize the Start Menu, so have little need for the MS version).

wmic process where name="StartMenu.exe" CALL setpriority 64

wmic process where name="StartMenuExperienceHost.exe" CALL setpriority 64

  1. Some other things to speed up Startup:

    • In Task Manager, on the Startup tab, check Startup impact, and disable unneeded apps.
    • Perform all Windows updates, then use SFC and DISM to repair any issues.
    • Rather than perform a full shutdown, Hibernate, which uses no power, or Sleep, if the PC is left plugged in. Return from Hibernate may take half as long as rebooting, and resumption from Sleep just seconds.
  2. As for replacing the HDD with an SSD, it might or might not be worth the trouble. You would need to transfer at least the OS to SSD, likely need to reinstall some applications, and you'd still have an eight-year-old PC. As mentioned above, I've found Linux, such as Ubuntu, far leaner than Windows, yet all my frequently used apps are there: Firefox, Thunderbird, LibreOffice and others. If you want to try Linux, no need to install to test it: just run from a Live Ubuntu USB, which likely would boot faster than from the HDD running Windows.

12

It sounds like it is the HDD. When it starts getting errors it spends a lot of time retrying to read the bad sectors. SO, take this as an early warning sign to save your data by replacing it with another SSD.

If you look at the event log, search for Event IDs

The following Event IDs indicate that there's data corruption or a disk error:

  • Event ID 153

    The IO operation at logical block address 123456 for Disk 2 was retried.

  • Event ID 129

    Reset to device, \Device\RaidPort1, was issued.

  • Event ID 55

    The file system structure on the disk is corrupt and unusable. Please run the chkdsk utility on the volume.

  • Event ID 98

    Volume C: (\Device\HarddiskVolume3) needs to be taken offline to perform a Full Chkdsk. Please run "CHKDSK /F" locally via the command line or run "REPAIR-VOLUME drive:" locally or remotely via PowerShell.

From learn.microsoft

And run chkdsk

  • Open Command Prompt

  • type in chkdsk c: /scan

    This is read-only. If there are many errors then it's best to switch your disk. If you are feeling brave you can try fixing them

  • type in chkdsk C: /f

    This will try to repair it.

Rohit Gupta
  • 5,096
10

I'd say it's definitely the HDD who has now problems - of course, worsen by the 10 yrs old PC (motherboard, CPU...)

Do NOT hesitate. For maybe 40$ or even less - depending where you are - you can acquire an SSD for your system.

ANY brand will be FAR FAR faster than your HDD. Don't hesitate to take less reputed brands. Of course, if on Amazon have a look at the ratings ;-)

Even on old systems you can boot completely in like 15 seconds with an SSD.

I'd recommend you to download the free DiskGenius:

https://www.diskgenius.com/

Because it's free, works perfectly for this, and can make a live copy / migration of your system.

  • Install the new SSD.

  • Use OS Migration icon/menu option, and follow the guide to migrate to the SSD.

  • Select the Hot live copy (using system snapshot).

  • When done, simply turn off the PC, unplug the SATA of the old HDD and restart.

It should boot now on the SSD.

In case of any problem - but there shouldn't be any - simply unplug the new SSD and plug back the HDD.

Sylvain
  • 395
3

Disable the SysMain service (search for "Services").

I think this used to be called Prefetch or Superfetch. My boot time dropped from 10 minutes to 3 minutes. I too have just an HDD (and agree with everyone else that an SSD would be much faster) and assume that chkdsk shows that your HDD is fine.

(Windows Update sometimes still hogs my disk, but I have given up on understanding that even though menus make me think that I can disable it temporarily.)

bobuhito
  • 653
3

This happens to me constantly, and I agree it's aggravating. The way I normally investigate this is to launch Task Manager (Ctrl + Shift + Escape), go to the "Details" tab, and add the column named "PF Delta". This will tell you how many times a program tried to access something that wasn't in memory and had to go out to the hard drive to get it (a page fault). I find this works better if you select View -> Update Speed -> Slow. I usually see a small handful of programs that are throwing huge numbers of page faults and the rest are close to zero. Those few programs are what are hammering your hard drive and bringing the system to a crawl. Some programs might appear under a generic name, but adding the "Command Line" column can provide more details as to what exactly is running.

Also, the "Startup" tab in Task Manager will show you what all is running at startup and how big of an impact it has on your startup time.

99% of the time, the culprit is something that's trying to auto-update itself. Update routines rarely throttle themselves, run invisibly in the background, and generate a lot of disk traffic. If your system ends up with two or more update routines running at the same time, the resulting traffic can cause hard drive thrashing (where the drive spends all its time seeking back and forth and very little doing data transfer).

Take a look at your system the next time this happens and see if you have several update tasks running. Windows Update is normally one of the culprits (wuauserv service). The Edge browser is frequently another culprit that I see, as are security/antivirus programs.

You can alleviate this somewhat by scheduling programs to update themselves at different times. You can completely disable Edge browser updates if you don't use it. If you do use that browser, you can reconfigure the "Microsoft Edge Update Service" and change its "Startup Type" from "Automatic" to "Automatic (Delayed Start)". This will wait a little bit before starting the update process. The default is around 2 minutes, but you can change this by setting a registry key HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay to a time delay in seconds. This should work for any auto-updater that runs as a service. I use this to ensure that Windows updates, Edge updates, my antivirus auto-update, etc. run at different times by giving them ~10 minute delays relative to each other. That lets one process run and finish before the next one starts, preventing them from thrashing the hard drive and monopolizing the entire machine. Once I did that I saw a noticable difference in performance when the system initially starts up.

bta
  • 754
1

I saw this problem several times and it was always caused by Windows telemetry (see also here).

After start, open Task Manager, click on Details and see whether there is any CompatTelRunner.exe process running. There should be 2 (sometimes 3) instances. Kill them all (actually, killing one usually ends the other one too if you pick the right one).

If HDD stops spinning like crazy, you know this is the cause.

To disable telemetry, do the following: Task Scheduler > Microsoft > Windows > Application Experience > right click on each task to disable it as described here.

Note 1: my experience is that telemetry always comes back, so you might need to repeat this in the future. Or just keep killing it after the startup.

Note 2: such telemetry scans not only happen after system starts, but also e.g. after you install/uninstall a program.

Note 3: as others suggested, a lot of things happen after the start (prefetch, AV scan, ...). Telemetry might not be the only reason for your problems. But from my experience, it has the biggest impact.

Final advice: if possible, switch to SSD. It will improve (not only) the startup speed immensely.

Stalker
  • 111
0

I had a similar issue once. My PC was using too much swap memory. You can check if this is the case by searching for "Adjust the appearance and performance of Windows" in your start menu. That'll open Performance Options. Go to Advanced, and check your virtual memory usage. Mine was set to automatically allocate, and my pagefile had ballooned up to 16 gigs. I manually set it for the system recommendation of 3 gigs, and my disk utilization on bootup cleared up. Just keep in mind you have to have enough RAM available to actually run your computer and all your processes for this to work.