我遇到了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