High, Fluctuating '% Time in JIT' on Preco

2020-06-06 04:35发布

问题:

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