我遇到了Jetty 9服务器应用程序的问题,该应用程序似乎在闲置较长时间后进入某种静止状态。通常情况下,Java进程的内存使用量为〜500 MB,但空闲一段时间后,似乎下降到不到50 MB。第一个请求需要花费几秒钟的时间来响应,而请求通常在几十毫秒的范围内。但是在一次或两次请求之后,应用程序似乎回到了正常的响应状态。闲置期后的Java服务器应用程序缓慢(Windows)
我在32位Oracle Java 8 JVM上运行。我的JVM配置是非常基本的:
java -server -jar start.jar
我希望这个问题可以通过JVM配置来解决。有谁知道是否有任何特定的参数来禁用此类行为?
编辑:根据Ivan的评论,我能够找出问题的根源。原来,Windows正在将Java进程的一部分交换到磁盘。有关我的解决方案的说明,请参阅我自己的答案。
你可以尝试添加'-Xms500m' –
它看起来像你的内存被换出(或其他操作系统级别的东西)。在这里看到相同的问题http://stackoverflow.com/questions/43464971/jvm-jit-deoptimization-after-idle/43466815#43466815欲了解更多信息,请提供操作系统信息和交换使用情况。 – Ivan