我在OSX 10.6上安装了Play并希望测试基线内存使用情况。我阅读了部署文档,并注意到建议在反向代理服务器后面运行Play。当我运行基本打印hello world的play run myApp
时,我所看到的是:
Initial memory usage when started is:
10345 java user 0.1 22 71.5 MB Intel (64 bit)
after a few several thousand hits, it grows substantially to:
10345 java user 0.1 26 123.7 MB Intel (64 bit)
Which is fine and all, but it slowly creeps up to 140MB after few thousand more
test requests.
我的问题是针对上述内存量,如果这些数字是正常的。 我正在查看java内存的数量 playapps.com 优惠和 根据我的调查结果表明,我的HelloWorld应用程序不适合64MB基本计划。
怎么会这样?是否存在play run MyApp
的生产版本
启用与开发相关的功能?
答案 0 :(得分:9)
您是否尝试使用-Xmx64m开关运行应用程序(在application.conf中设置“jvm.memory = -Xmx64m”)。我最近一直在对Java进行大量的内存分析,而且垃圾收集常常很懒散。如果最大内存大小不受限制,则并不总是努力保持低内存大小。
在prod模式下运行会有所帮助,因为它没有编译器开销。
Play网站确实在最小的playapps服务器上运行,这是64Mb,这比你给出的hello world示例复杂得多。所以最小的playapps应该没问题!
答案 1 :(得分:2)
是的,您可以通过配置设置在生产模式下运行:
%production.application.mode=prod
或通过命令行:
play run --%production <project>
我知道(在Play Framework Google小组的一些帖子中)项目的官方页面在Playapps.net的小实例中运行,平均每天访问量达到10万次(类似的情况,我的记忆可能有问题) !),它可以正常工作,你可以欣赏。