J'ai besoin de collecter des statistiques d'une machine virtuelle Java à intervalles de temps réguliers en utilisant. Plus tard, j'ai besoin de connecter la mémoire disponible de la JVM/mémoire libre, la mémoire utilisée, la mémoire totale.Avantages de MemoryPoolMXBean.getUsage() sur Runtime.freeMemory()
Voici les deux options auxquelles j'ai pensé.
ManagementFactory.getMemoryPoolMXBeans() et itérer chaque MemoryPoolMXBean et enfin la collecte des statistiques à l'aide MemoryPoolMXBean.getUsage().
Runtime.freeMemory(), Runtime.maxMemory(), Runtime.totalMemory
Quelle est la meilleure façon de recueillir les statistiques. en utilisant MemoryPoolMXBean.getUsage() ou Runtime Class.