簡體   English   中英

Java-為什么一段時間內響應時間會增加?

[英]Java - why is there an increase in response time over period of time?

我在Eclipse indigo中執行Java程序10,000次。 所有執行的操作都在內存中; 沒有磁盤IO或網絡IO。 我注意到,在相同的輸入時間內,響應時間從2毫秒增加到25毫秒。 繪制響應時間后,圖形看起來是線性的。 首先想到的是我還沒有調整垃圾收集器。 我設置了垃圾收集器以實現最大吞吐量和更少的gc暫停時間。 仍然沒有區別。

有關響應時間和Java VM GC的屏幕截圖, 請單擊鏈接

我在Macbook Pro 2011上運行Oracle Java。

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)

以下是我的虛擬機設置

-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

贊賞,如果有人能闡明這一點。

根據您告訴我們的內容,很難說出問題出在哪里。

  • 在您的應用程序本身中可能是一個問題。

  • 啟動應用程序的方式可能有問題。

  • 您測量“響應時間”的方式可能有問題。


如果您想獲得更好的答案,則需要說明如何 “在Eclipse indigo中執行Java程序10,000次”。

  • 如何/在哪里測量響應時間? 通過Eclipse? 還有別的嗎?
  • 這是否真的意味着您正在運行Eclipse啟動器10,000次?
  • 還是您正在運行一些正在啟動應用程序的基准測試框架類?
  • 還是只是調用應用程序的main 10,000次?
  • Eclipse是在單獨的JVM中還是在Eclipse JVM中運行測試?

也:

  • 當您說沒有網絡I / O時,它是否包括127.0.0.x和本地IPC?
  • 該應用程序實際在做什么? 它是在以某種形狀或形式與其他事物交談嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM