Windows 8 and 8.1 (Professional 64-bit in my case) has an automatic maintenance mode that it periodically runs. You can see that periodically when one of the system tray icons changes appearance and has the text maintenance mode running.

I did some digging and found out that Windows automatic maintenance does two things:

  1. .Net Optimization
  2. Disk defragmentation

I understand disk defragmenting, but what is ".Net Optimization" and what exactly does Microsoft Windows do to optimize .Net and is that a task that takes a long time?

I am a software developer and work with .Net technologies, so I understand what the Microsoft .Net Framework is, where Windows stores the assemblies (GAC) and all that. The framework is a bunch of files sitting in the Windows GAC and registry entries. There is no task that would seem to need optimizing and then not any task that would take oodles of time.


My best guess is that it compiles CIL code to native code so that it doesn't have to do that when you run .Net applications.

A question on the MSDN forums asks What is the Microsoft .net Optimization service? and one of the answers points out:

The native image cache contains code that is compiled ahead of time (instead of as the program is being run). When a .NET program is installed, it may instruct this service to compile the native image in the background.

Even though this question refers to the .Net Optimization service, I would expect that the task you're referring to basically starts this service and lets it run the optimization for all queued items.

| improve this answer | |
  • I read that same questionable MSDN article from the link given in the comment. Basically it seems that the maintenance mode is poorly implemented and poorly thought out. – Sarah Weinberger Mar 6 '14 at 19:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.