我在Eclipse靛藍中執行了10,000次Java程序。所有執行的操作都在內存中;沒有磁盤IO或網絡IO。我注意到在一段時間內,對於相同的輸入,響應時間從2毫秒增加到25毫秒。在繪製響應時間時,圖形看起來是線性的。首先想到的是我沒有調整垃圾收集器。我已經設置了垃圾收集器來獲得最大的吞吐量和更少的gc暫停時間。仍然沒有區別。Java - 爲什麼在一段時間內響應時間會增加?
有關響應時間和Java VM GC截圖,please click the link
我對MacBook Pro的運行甲骨文的Java 2011年
java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
以下是我的VM設置
-server -XX:+UseParallelGC -XX:+UseParallelOldGC -Xms48m -Xmx64m -XX:NewSize=32m -XX:MaxNewSize=32m -Xss2048k -XX:SurvivorRatio=16 -XX:MaxGCPauseMillis=15 -verbose:gc -Xloggc:gclog.txt -XX:+PrintGCDetails
欣賞它,如果任何人可以闡明這一點。
http://www.eclipse.org/tptp/home/documents/tutorials/profilingtool/profilingexample_32.html
http://www.eclipse.org/tptp/home/downloads/installguide/InstallingGuide.html
請讓我們知道你發現了什麼:
難道這是在所有涉及到那些飢餓的CPU週期,你的電腦上的任何其他進程? – 2012-01-29 03:33:55
感謝Eric的建議。這是一個應用程序問題。 – 2012-01-29 05:52:49