Avviso

Tutto il materiale, le guide e i suggerimenti che trovate in questo sito sono forniti senza alcuna garanzia, dato che rappresentano soltanto appunti e note personali pubblicate nella speranza che possano essere utili a qualcuno.

mercoledì 24 febbraio 2010

Macchina virtuale che consuma CPU in Idle: colpa di mscorsvw.exe?

Ieri mi e' capitato di accorgermi che la mia virtual machine, in idle, consumava piu' CPU che durante il normale utilizzo!

Credevo fosse un problema di driver della VM, invece era colpa di mscorsvw.exe. Questo servizio e' schedulato per girare nei momenti, appunto, di idle del sistema, e il suo scopo e' quello di compilare in background le librerie del framework .NET di Microsoft.

Quindi se avete installato qualche .NET framework, Visual Studio oppure SQL Server (sia Standard che Express) puo' darsi che stia "lavorando per voi".

Il file che gescisce questi processi si chiama

NGEN.exe. Si trova in C:\Windows\Microsoft.NET\Framework\v2.0.50727 (ma in Windows 7 e' solo un alias per quello che si trova anche sotto la directory \V4.xxxxxx ).Andate quindi in quella directory (con un prompt dei comandi che abbia privilegi di amministratore) e digitate

NGEN executequeueditems

Sappiate che ci mettera' un po' di tempo, a seconda di quanti CLR deve ancora compilare.

Per vedere lo stato dei lavori digitate:

NGEN queue status

E infine per vedere il log,

NGEN display

Nessun commento: