我在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