Я предполагаю, что 680768 КБ памяти, о которой вы сообщаете, исходит от инструмента ОС, такого как ps или диспетчер задач. Общий объем памяти, используемой JVM, не вызывает временное зависание приложения. Вероятная причина приостановки заключается в том, что сборщик мусора JVM выполняет полный GC, который приостановит все потоки в JVM, на котором работает полный GC (если у вас не настроен параллельный gc).
Вы должны запустить JVM, запускающую игровую рамку с -verbosegc -XX: + PrintGCDetails, чтобы увидеть, что делает GC.
На ваш вопрос «Нужно ли Play Framework столько памяти» ответить невозможно, поскольку объем используемой памяти будет зависеть от того, что делает ваше приложение по предварительному запросу. Кроме того, JVM разрешает работу кучи, а затем выполняет цикл GC для очистки кучи. JVM-приложение с хорошим поведением должно отображать рисунок пилы на графике ГХ.
Я не знаю, какую JVM вы используете, если вы используете горячую точку VM, прочитайте руководство по настройке JVM. http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html Обычно перед тем, как читать руководство по настройке JVM для понимания, вам необходимо понять следующие принципы GC.
- Сбор мусора с меткой и меткой
- Пометка, уборка и компактная сборка мусора
- Копировальный коллектор
- Поколение мусора
- Параллельная сборка мусора
- Одновременная сборка мусора
http://www.amazon.com/Garbage-Collection-Handbook-Management-Algorithms/dp/1420082795/, вероятно, хорошая книга на эту тему
Несколько бесплатных инструментов, которые поставляются вместе с JVM горячей точки, которые вы можете использовать, включают jconsole и jvisualvm. У jvisualvm есть хороший плагин VisualGC, который отлично подходит для изучения того, как hotspot vm управляет памятью.