问题
With a 150 *.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
回答1:
It could be anything that does assembly emit. Linq Expressions compile, or regular expressions, that are not being cached correctly.
回答2:
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
来源:https://stackoverflow.com/questions/1591073/high-fluctuating-time-in-jit-on-precompiled-asp-net-website