Ho esaminato la risposta allo how to get the min and max heap size settings of a JVM from within a Java program che è stata utile, ma la risposta accettata non sembra rispondere a metà della domanda. In sostanza, voglio segnalare le impostazioni -Xms e -Xmx che sono state utilizzate quando è stata lanciata la JVM.Come posso determinare la dimensione heap minima JVM dall'interno di un'applicazione java?
5
A
risposta
3
Se si desidera ottenere i veri argomenti JVM questo dovrebbe essere di aiuto. È possibile ottenere tutti gli argomenti JVM con l'MXBean:
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();
Bisogna cercare gli argomenti che iniziano con "-Xm (s | x)". Il problema è che il valore potrebbe essere qualcosa come "256M".
6
Queste sono le mappature tra i valori che stai cercando:
-Xmx=Runtime.getRuntime().maxMemory()
-Xms=Runtime.getRuntime().totalMemory()
Spero che questo aiuti.
+5
La memoria totale è uguale a '-ms' all'avvio, ma potrebbe essere più alta dopo l'avvio. –
Perfetto per le mie esigenze. Vogliamo solo registrare le impostazioni della JVM all'avvio per fornire un contesto durante la revisione dei registri associati ai rapporti sui problemi. Grazie! – pamphlet