Solved Sudden shutdown slowdown

nilank

Banned
Local time
4:48 PM
Messages
502
Location
Seoul, South Korea
After doing a startup optimization with Windows Performance toolkit, though the startup speed boosted, but shutdown became slow. It was around 4-6 seconds earlier, but now it's around 8-20 seconds. There doesn't seem much activity going on with the HDD during shutdown. Dunno what's happening out there. help is appreciated.

I made a boot trace with xbootmgr.

I have attached the .etl and a parsed .xml file.

XML file has this content:

Code:
<results timeFormat="msec">
  <shutdown>
    <timing shutdownTime="13809" servicesShutdownDuration="485">
      <perSessionInfo>
        <sessionShutdown sessionID="1" startTime="913" endTime="5247" duration="4334">
          <shutdownProcess name="LogonUI.exe" shutdownStartTime="913" shutdownEndTime="913"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="640" shutdownFlags="0"/>
          <shutdownProcess name="cmd.exe" shutdownStartTime="913" shutdownEndTime="917"
                           processEndTime="915" shutdownDuration="4"
                           shutdownLevel="640" shutdownFlags="0"/>
          <shutdownProcess name="CisTray.exe" shutdownStartTime="917" shutdownEndTime="1027"
                           processEndTime="1022" shutdownDuration="110"
                           shutdownLevel="640" shutdownFlags="0"/>
          <shutdownProcess name="networx.exe" shutdownStartTime="1027" shutdownEndTime="1076"
                           processEndTime="1068" shutdownDuration="49"
                           shutdownLevel="640" shutdownFlags="0"/>
          <shutdownProcess name="soundman.exe" shutdownStartTime="1076" shutdownEndTime="1092"
                           processEndTime="1089" shutdownDuration="16"
                           shutdownLevel="640" shutdownFlags="0"/>
          <shutdownProcess name="explorer.exe" shutdownStartTime="1092" shutdownEndTime="2486"
                           processEndTime="2460" shutdownDuration="1394"
                           shutdownLevel="3" shutdownFlags="0"/>
          <shutdownProcess name="taskhost.exe" shutdownStartTime="2486" shutdownEndTime="2526"
                           processEndTime="2522" shutdownDuration="40"
                           shutdownLevel="2" shutdownFlags="0"/>
          <shutdownProcess name="cis.exe" shutdownStartTime="2526" shutdownEndTime="2593"
                           processEndTime="2588" shutdownDuration="67"
                           shutdownLevel="0" shutdownFlags="0"/>
          <shutdownProcess name="winlogon.exe" shutdownStartTime="2593" shutdownEndTime="2593"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="0" shutdownFlags="0"/>
          <shutdownProcess name="LogonUI.exe" shutdownStartTime="3223" shutdownEndTime="3223"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="640" shutdownFlags="0"/>
          <shutdownProcess name="winlogon.exe" shutdownStartTime="3223" shutdownEndTime="3223"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="0" shutdownFlags="0"/>
          <notification type="EndShell" sessionId="1" startTime="2593" endTime="2595" duration="1">
            <subscriber name="GPClient" startTime="2593" endTime="2594" duration="1"/>
            <subscriber name="TermSrv" startTime="2594" endTime="2595" duration="1"/>
          </notification>
          <notification type="Logoff" sessionId="1" startTime="3237" endTime="5169" duration="1933">
            <subscriber name="Sens" startTime="3237" endTime="3271" duration="34"/>
            <subscriber name="SessionEnv" startTime="3271" endTime="3279" duration="8"/>
            <subscriber name="TermSrv" startTime="3279" endTime="3282" duration="3"/>
            <subscriber name="GPClient" startTime="3282" endTime="3299" duration="17"/>
            <subscriber name="Profiles" startTime="3299" endTime="5169" duration="1870"/>
          </notification>
          <notification type="TerminateSession" sessionId="1" startTime="5246" endTime="5247" duration="1">
            <subscriber name="TermSrv" startTime="5246" endTime="5247" duration="1"/>
          </notification>
        </sessionShutdown>
        <sessionShutdown sessionID="0" startTime="5962" endTime="6446" duration="485">
          <preShutdownNotification startTime="5768" endTime="5957" duration="189"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5962" shutdownEndTime="5964"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="1024" shutdownFlags="4"/>
          <shutdownProcess name="lsm.exe" shutdownStartTime="5964" shutdownEndTime="5966"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5966" shutdownEndTime="5968"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5968" shutdownEndTime="5970"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="cmdagent.exe" shutdownStartTime="5970" shutdownEndTime="5973"
                           processEndTime="-1" shutdownDuration="3"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5973" shutdownEndTime="5975"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5975" shutdownEndTime="5977"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5977" shutdownEndTime="5979"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="audiodg.exe" shutdownStartTime="5979" shutdownEndTime="5979"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5979" shutdownEndTime="5981"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5981" shutdownEndTime="5982"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5982" shutdownEndTime="5984"
                           processEndTime="6475" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="svchost.exe" shutdownStartTime="5984" shutdownEndTime="5986"
                           processEndTime="6381" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="8"/>
          <shutdownProcess name="cavwp.exe" shutdownStartTime="5986" shutdownEndTime="5994"
                           processEndTime="-1" shutdownDuration="8"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="WmiPrvSE.exe" shutdownStartTime="5994" shutdownEndTime="5996"
                           processEndTime="-1" shutdownDuration="2"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="LogonUI.exe" shutdownStartTime="5996" shutdownEndTime="5996"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="640" shutdownFlags="4"/>
          <shutdownProcess name="lsass.exe" shutdownStartTime="5996" shutdownEndTime="6033"
                           processEndTime="-1" shutdownDuration="37"
                           shutdownLevel="481" shutdownFlags="4"/>
          <shutdownProcess name="services.exe" shutdownStartTime="6033" shutdownEndTime="6441"
                           processEndTime="-1" shutdownDuration="407"
                           shutdownLevel="480" shutdownFlags="4"/>
          <shutdownProcess name="wininit.exe" shutdownStartTime="6441" shutdownEndTime="6441"
                           processEndTime="-1" shutdownDuration="0"
                           shutdownLevel="0" shutdownFlags="8"/>
        </sessionShutdown>
      </perSessionInfo>
      <intervals>
        <interval name="WaitForWinstationShutdown" startTime="5173" endTime="5248" duration="75"/>
        <interval name="PreShutdownNotification" startTime="5768" endTime="5957" duration="189"/>
        <interval name="NtShutdownSystem" startTime="6446" endTime="14038" duration="7592"/>
        <interval name="ZeroHiberFile" startTime="0" endTime="-1" duration="-1"/>
       [B][COLOR="Red"] <interval name="FlushVolumes" startTime="6732" endTime="11293" duration="4561"/>[/COLOR][/B]
        <interval name="ZeroPageFile" startTime="11294" endTime="11294" duration="0"/>
        <interval name="IoShutdownSystem" startTime="11986" endTime="12081" duration="95"/>
        <interval name="WaitForProcesses" startTime="0" endTime="-1" duration="-1"/>
        <interval name="CmShutdownSystem" startTime="12081" endTime="12873" duration="792"/>
      </intervals>
    </timing>
    <unresponsiveServices numUnresponsiveServices="0"/>
    <services autoStartStartTime="0" autoStartEndTime="0" autoStartDuration="0">
      <serviceTransition name="AeLookupSvc" group="" transition="start"
                         totalTransitionTimeDelta="17" firstCheckpointTimeDelta="0" processingTimeDelta="17"
                         container="netsvcs svchost (964)" startedAt="4412" firstCheckpointedAt="4412" endedAt="4429"/>
      <serviceTransition name="gpsvc" group="" transition="stop"
                         totalTransitionTimeDelta="16" firstCheckpointTimeDelta="4" processingTimeDelta="12"
                         container="netsvcs svchost (964)" startedAt="5857" firstCheckpointedAt="5860" endedAt="5872"/>
      <serviceTransition name="CryptSvc" group="" transition="stop"
                         totalTransitionTimeDelta="2461" firstCheckpointTimeDelta="0" processingTimeDelta="2461"
                         container="NetworkService svchost (844)" startedAt="6037" firstCheckpointedAt="6037" endedAt="8498"/>
      <serviceTransition name="Dhcp" group="" transition="stop"
                         totalTransitionTimeDelta="23" firstCheckpointTimeDelta="1" processingTimeDelta="22"
                         container="LocalServiceNetworkRestricted svchost (884)" startedAt="6037" firstCheckpointedAt="6038" endedAt="6060"/>
      <serviceTransition name="DPS" group="" transition="stop"
                         totalTransitionTimeDelta="173" firstCheckpointTimeDelta="3" processingTimeDelta="170"
                         container="LocalServiceNoNetwork svchost (1276)" startedAt="6039" firstCheckpointedAt="6041" endedAt="6212"/>
      <serviceTransition name="eventlog" group="" transition="stop"
                         totalTransitionTimeDelta="994" firstCheckpointTimeDelta="76" processingTimeDelta="918"
                         container="LocalServiceNetworkRestricted svchost (884)" startedAt="6042" firstCheckpointedAt="6117" endedAt="7035"/>
      <serviceTransition name="FDResPub" group="" transition="stop"
                         totalTransitionTimeDelta="333" firstCheckpointTimeDelta="11" processingTimeDelta="322"
                         container="LocalServiceAndNoImpersonation svchost (1428)" startedAt="6118" firstCheckpointedAt="6129" endedAt="6451"/>
      <serviceTransition name="IKEEXT" group="" transition="stop"
                         totalTransitionTimeDelta="466" firstCheckpointTimeDelta="84" processingTimeDelta="382"
                         container="netsvcs svchost (964)" startedAt="6129" firstCheckpointedAt="6213" endedAt="6595"/>
      <serviceTransition name="PlugPlay" group="" transition="stop"
                         totalTransitionTimeDelta="20" firstCheckpointTimeDelta="1" processingTimeDelta="19"
                         container="DcomLaunch svchost (612)" startedAt="6213" firstCheckpointedAt="6214" endedAt="6233"/>
      <serviceTransition name="PolicyAgent" group="" transition="stop"
                         totalTransitionTimeDelta="143" firstCheckpointTimeDelta="2" processingTimeDelta="141"
                         container="NetworkServiceNetworkRestricted svchost (1700)" startedAt="6214" firstCheckpointedAt="6216" endedAt="6357"/>
      <serviceTransition name="Power" group="" transition="stop"
                         totalTransitionTimeDelta="18" firstCheckpointTimeDelta="17" processingTimeDelta="1"
                         container="DcomLaunch svchost (612)" startedAt="6217" firstCheckpointedAt="6234" endedAt="6235"/>
      <serviceTransition name="ProfSvc" group="" transition="stop"
                         totalTransitionTimeDelta="49" firstCheckpointTimeDelta="46" processingTimeDelta="3"
                         container="netsvcs svchost (964)" startedAt="6235" firstCheckpointedAt="6281" endedAt="6283"/>
      <serviceTransition name="SysMain" group="" transition="stop"
                         totalTransitionTimeDelta="1144" firstCheckpointTimeDelta="3" processingTimeDelta="1141"
                         container="LocalSystemNetworkRestricted svchost (924)" startedAt="6282" firstCheckpointedAt="6285" endedAt="7426"/>
      <serviceTransition name="TrkWks" group="" transition="stop"
                         totalTransitionTimeDelta="7" firstCheckpointTimeDelta="1" processingTimeDelta="6"
                         container="LocalSystemNetworkRestricted svchost (924)" startedAt="6285" firstCheckpointedAt="6286" endedAt="6292"/>
      <serviceTransition name="Winmgmt" group="" transition="stop"
                         totalTransitionTimeDelta="492" firstCheckpointTimeDelta="1" processingTimeDelta="491"
                         container="netsvcs svchost (964)" startedAt="6286" firstCheckpointedAt="6287" endedAt="6778"/>
    </services>
    <groupPolicy/>
  </shutdown>
</results>

Also, please explain a bit about the red part of the code (FlushVolumes).
 

Attachments

Problem solved. Had to enable write caching on my HDD. It was enabled by default, have no idea when and why did I disable it, lol.

So, here's another discovery: Disabling write caching can slow down system shutdown drastically (atleast in my case, it does happen).
 
Back
Top