Comprendre Runtime.getRuntime().totalMemory(), freeMemory() et maxMemory()
Runtime.getRuntime().getTotalMemory () renvoie la mémoire totale disponible pour la machine virtuelle Java (JVM). Cela inclut la mémoire occupée par les objets, le tas Java et d'autres structures JVM. Il ne représente pas la mémoire totale utilisée par votre processus.
Runtime.getRuntime().freeMemory() renvoie la quantité de mémoire actuellement libre et disponible pour l'allocation d'objets. Il ne représente pas la mémoire totale libre disponible pour le processus.
Runtime.getRuntime().maxMemory() renvoie la quantité maximale de mémoire que la JVM peut allouer. Ceci est généralement défini par le paramètre de ligne de commande -Xmx.
Calcul de la mémoire totale et utilisée
Pour déterminer la quantité totale de mémoire utilisée par votre processus, vous avez besoin pour soustraire la mémoire libre de la mémoire totale :
usedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
Calcul de la mémoire libre totale
Pour déterminer la quantité totale de mémoire libre disponible pour votre processus, soustrayez la mémoire utilisée à partir de la mémoire maximale :
freeMemory = Runtime.getRuntime().maxMemory() - usedMemory;
Visualisation de l'allocation de mémoire
Voici un diagramme illustrant la relation entre ces valeurs de mémoire :
[ Schéma : https://i.sstatic.net/GjuwM.png]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!