Jetty为什么不使用所有分配的内存?

时间:2009-10-19 09:25:49

标签: performance jetty memory-consumption

我们使用Grails开发webapp。在生产中,webapp在Jetty上运行。我们使用JMeter来运行性能测试和yourkit来分析码头的内存消耗。

我们使用params -Xms1500m -Xmx1500m启动了Jetty,所以在yourkit中我们也可以看到分配的内存大约是1,5gb。但Jetty并没有全部使用它,所有时间总是在300-500米之间并且性能不佳。只能提供少量请求。

  • CPU未满载,所有时间仅为50%
  • Jetty使用默认设置运行,使用6.1.21
  • MySQL查询很简单,数据库大小很小,与Jetty在同一台机器上运行,不可能是问题
  • 将通过FileAppender写入的日志记录到HDD
  • JMeter生成enought requests
  • Yourkit显示活动线程数约为60

那么我们如何强制码头使用所有分配的内存以获得更好的性能呢?

非常感谢你!

1 个答案:

答案 0 :(得分:2)

问题可能不是记忆,看起来你已经够了。

您可能还有其他争用点,例如排他锁。

我建议您拍摄线程的几个快照,以检查它们被卡住的位置。你应该找到争论。