2012-04-06 6 views
0

Wir haben eine Java-Webanwendung in Elastic Beanstalk mit der minimalen Instanzanzahl 1 und der maximalen Instanzanzahl 2 für Autoscaling implementiert. Der benutzerdefinierte AMI, den wir verwenden, ist c1.medium mit Sun JDK 6.Containeroptionen in AWS Elastic Beanstalk

Der Umgebungsstatus wurde gelb und dann rot geändert. Nach dem Einchecken der Protokolldatei aus den Snapshot-Protokollen haben wir eine Ausnahme gefunden - verursacht durch: java.lang.OutOfMemoryError: Java-Heap-Space. Angenommen, dies könnte einer der möglichen Gründe für den Umweltschaden sein. Die Einstellungen, die wir in der Umwelt Container Option konfiguriert haben, sind

Initial JVM Heap-Größe (MB) - 256M

Maximale JVM Heap-Größe (MB) - 512m Die maximale Speichergröße der virtuellen Java-Maschine wird immer consume, angegeben in der JVM-Startbefehlszeile mit -Xmx.

Maximale JVM Permanent Generation Größe (MB) - 512m

Sollte erhöhe ich die Heap-Größe von 512 m auf mehr oder ist es in Ordnung.

Antwort

1

Ich denke, Ihre maximale JVM Permanent Generation Größe ist zu groß. Hier ist die documentation of AWS:

JVM Options

The heap size in the Java Virtual Machine affects how many objects can be created in memory before garbage collection—a process of managing your application’s memory—occurs. You can specify an initial heap size and a maximum heap size. A larger initial heap size allows more objects to be created before garbage collection occurs, but it also means that the garbage collector will take longer to compact the heap. The maximum heap size specifies the maximum amount of memory the JVM can allocate when expanding the heap during heavy activity.

In the Edit Configuration window, you can set the initial and the maximum JVM heap sizes using the Initial JVM Heap Size (MB) and Maximum JVM Heap Size (MB) boxes. The available memory is dependent on the Amazon EC2 instance type. For more information about the Amazon EC2 instance types available for your AWS Elastic Beanstalk environment, go to Instance Families and Types in the Amazon EC2 User Guide.

The permanent generation is a section of the JVM heap that is used to store class definitions and associated metadata. To modify the size of the permanent generation, type the new size in the Maximum JVM Permanent Generation Size (MB) box

Ich fand diese Rimuhosting how-to article recht gut bei der Erklärung Xmx Einstellungen.