0
我寫在一個簡單的Java服務器應用程序,和我使用的Apache 基準現在做一些基準。Java堆大小的增長由51%,一些限制
剛開始後,服務器使用的駐留內存大約爲40M。我進行了1000個請求(100個併發請求)。在每個系列之後,我再次檢查內存使用情況。結果對我來說似乎很奇怪。
在基準的第一次運行,要求的99%的處理在≈20毫秒和大約300毫秒他們的休息1%(!)。同時內存使用量增加。經過5-7次運行後,這種增長停止在120M,並且請求開始運行得更快 - 每個請求大約10毫秒。而且,當我增加請求數時,時間和內存值保持不變。
爲什麼會發生這種情況?如果有內存泄漏,那麼我的服務器將需要越來越多的資源。我只能提出這是因爲一些自適應的JVM內存分配機制,它提前增加了堆大小。