我正在一些托管 .Net 4.0 代码的网络服务器上运行一些性能测试。我注意到 JIT 计数器中的 % 在测试过程中会看似随机地飙升。
这些测试相当简单,它们都运行相同的代码。没有其他人访问这些服务器,所以它只运行我放在那里的代码,而且我只测试一个代码路径。
在一个小时的测试中,我会看到 JIT 计数器中的 % 飙升 50%-100% 大约 30-40 次。这只是很短的一段时间,其余时间都是 0%,但我想不出任何原因会发生这种情况。我做了所有正常的检查事件日志并在不同的日志文件中寻找错误,但一切似乎都运行正常,所以它甚至不需要捕获和异常并运行不同的代码。
我意识到这是一个模糊的问题,我确信 JIT 编译器可能运行有 1,000 多种不同的原因,但我希望有人可能知道为什么它会在已经“升温”的代码中发生的一些常见原因up”,当没有任何新的代码路径正在运行时。或者,如果这只是正常的日常行为。