Ich verwende GC Optionen XX:+UseParNewGC-XX:+UseConcMarkSweepGC
für meine Anwendung.Wie man JVM freigeben Speicher zurück zu OS
Da die meisten von Ihnen bereits erfahren, ist JVM gut darin, den Heapspeicher auf die maximale Größe des Heapspeichers zu erhöhen, es gibt jedoch keinen Speicher an das Betriebssystem zurück. Ich bin auf -XX:MaxHeapFreeRatio
und -XX:MinHeapFreeRatio
gestoßen, aber diese werden für parallele Müllsammler ignoriert.
Gibt es spezielle Optionen, um den JVM-Freigabespeicher für die Kombination -XX:MaxHeapFreeRatio and -XX:MinHeapFreeRatio
wieder auf OS zu setzen.
Nun .. Auch wenn Sie Optionen für diese Dinge finden, sind sie nicht garantiert, um über Architekturen zu arbeiten. – TheLostMind
@TheLostMind - Sind '-XX: MaxHeapFreeRatio' und' -XX: MinHeapFreeRatio' garantiert auf Oracle 64-Bit Linux JVM Ich bin mir nicht sicher, ob über Parameter '-XX: MaxHeapFreeRatio' und' -XX: MinHeapFreeRatio' sind nur für Serienmüllsammler oder nicht. Ich finde dafür widersprüchliche Zitate. – Pushkar
XX: + UseParNewGC mit den maximalen und minimalen Heap-freien Ratios gibt den Speicher für mein Windows 64bit-Setup mindestens in Java ab 1.8.0_73 zurück. Wenn Sie es jedoch nicht explizit an GC senden, wird es sich möglicherweise nur entscheiden, wenn das Betriebssystem unter Druck steht. Schließlich weiß ich nicht, ob die Option UseConcMarkSweepGC dies ändert. – nsandersen