2017-02-27 5 views
0

In unseren Projekten verwenden wir zwei Warteschlangen, eine für die normale Verarbeitung und eine andere für Fehler. Die "Fehler" -Warteschlange wird manchmal mit "Fehler" -Meldungen gefüllt, die dort sitzen, bis ein Mensch sie auscheckt. In einigen Fällen füllt die "error" -Warteschlange viele Nachrichten aus und die JVM hat dann keinen Heap mehr.Wie verwaltet Apache Artemis Heap-Speicher (RAM)

Zum Beispiel derzeit die JVMs mit maximal 4 GB Heap konfiguriert, und bekommen OOM Ausnahme zu zufälligen Zeiten. Wir haben sowohl einen MemoryAnalyzer als auch einen IBM Heap Analyzer verwendet und beide weisen auf Artemis hin. Als ich die Größe des Journals auf dem Dateisystem überprüfte, ist es ungefähr 5GB.

Wir senden:

  • Kleine Nachrichten
  • Persistent
  • Nicht mit Netty oder Remoting (Artemis nur für async verwenden Verarbeitung)

Also, meine Fragen sind über Apache Artemis Heap Management und Empfehlungen:

  1. Werden persistente Nachrichten auch im RAM gespeichert, auch wenn sie bereits im Dateisystem gespeichert sind?
  2. Wenn # 1 wahr ist, was ist die Strategie, um den von Artemis zugewiesenen RAM-Speicher zu steuern/zu begrenzen?

Schätzen Sie jede Hilfe!

Antwort

Verwandte Themen