With a 15开发者_Go百科0 *.dll ASP.NET website that's precompiled (updatable), what are some possible causes for a '% Time in JIT' that is often quite high (> 60%) and fluctuating long after the application has warmed-up (all functionality accessed) and without app restarts or file changes that might generate new assemblies?
One would expect that the machine code generated for all assemblies would be re-used for the duration of that app-domain. Is there a finite size to the volume of machine-code that's cached? Under what scenarios would the same assembly need to be re-JIT'd in the same app domain? Or is it necessarily the case that new assemblies are being generated? Do factors such as memory pressure impact this performance counter?
Reference:
- http://forums.asp.net/p/967386/2959500.aspx
It could be anything that does assembly emit. Linq Expressions compile, or regular expressions, that are not being cached correctly.
If you are setting cache parameters, you may be inadvertently disabling the precompiled server-side cache. Take a look at this article:
http://codeclimber.net.nz/archive/2007/04/01/Beware-the-ASP.NET-SetCacheability-method.aspx
精彩评论