The performance of my Windows OS has been going downhill for quite some time. I finally decided to look into it and I found four running clr_optimization processes. I googled for what those are and they seem legit. I just don't understand why I need four of those. I understand one is for 32bit, one for 64 bit, but why do I need v2.0 and v4.0. The v4.0 are still running, after 45 minutes of uptime. Is that normal? Do those create a lot of disc I/O? Apart from those I don't see anything I could blame my slow OS on.

3 Answers

In .Net (a programming platform by Microsoft), the runtime versions (2.0 vs 4.0) are completely separate, and do not generally interoperate without extra work. No surprise that each would need it's own set of optimizers. For each version of the platform, 32 and 64 optimization is quite different, so I don't think it's unreasonable to have 4 copies of clr_optimization running.

I've not seen the clr_optimization.exe process that you speak of on my machine, so I can't offer specifics on its expected behavior.

1

Microsoft provided 2 blog posts about what the optimizer does and how to speed this up:

Wondering why mscorsvw.exe has high CPU usage? You can speed it up

Got a need for speed? .NET apps start faster.

And the .net 2.0 version should be disabled by the 4.x installer. Even if you optimize .net 2.0 DLLs, the 4.x version is used. So you should only see 2 instances.

In Windows 8, MS moved them into scheduled tasks which run when the PC is idle.

clr_optimization is a process that you only see running when you are trying to access network. IE a datastore or shared folder. It will lauch a 32 bit and 64 bit for each time you try to access a network resource.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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