Java mémoireObtenir l'utilisation Runtime.getRuntime().totalMemory, freeMemory
Java Renvoie les informations « Total », « Utilisé » et « Maximum utilisable » pour les informations sur la mémoire de la machine virtuelle.
L’explication de chaque élément est la suivante.
- total...Runtime.getRuntime().totalMemory()Il s'agit de la quantité de mémoire allouée à la machine virtuelle Java.
- montant à utiliser...Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()devenir,
Utilisation de la mémoire des objets actuellement alloués en mémoire. - maximum utilisable...Runtime.getRuntime().maxMemory()est la quantité maximale de mémoire que la machine virtuelle Java tentera d'utiliser.
Si la quantité utilisée s'approche de la mémoire totale et que la mémoire libre ne peut pas être sécurisée même avec le garbage collection, la machine virtuelle Java s'étendra jusqu'à la limite « maximum disponible ».
exemple de programme
/** * Renvoie des informations sur la mémoire totale de la machine virtuelle Java, la quantité utilisée et * la quantité maximale de mémoire qu'elle tente d'utiliser. * @return Informations sur la mémoire de la machine virtuelle Java */ public static String getMemoryInfo() { DecimalFormat f1 = new DecimalFormat("#,###KB"); DecimalFormat f2 = new DecimalFormat("##.#"); long free = Runtime.getRuntime ( .freeMemory() / 1024 ; long total = Runtime.getRuntime().totalMemory() / 1024 ; long max = Runtime.getRuntime().maxMemory() / 1024 ; long utilisé = total - gratuit ; double ratio = ( utilisé * 100 / (double)total); String info = "Informations sur la mémoire Java : Total = + f1.format(total) + ", " + "Utilisé = + f1.format(utilisé) + " (" + f2.format( ratio) + "%)", + "maximum disponible="+f1.format(max); return info; }
Résultat d'exécution 1
◆Exemple d'exécution
public static void main(String[] args) { System.out.println(getMemoryInfo()); }
◆Résultat de sortie
Informations sur la mémoire Java : total = 1 984 Ko, utilisation = 458 Ko (23.1%), maximum utilisable = 65 088 Ko
Résultat d'exécution 2
◆Exemple d'exécution
Essayez de modifier la taille du tas Java et de l'exécuter.
La valeur de la taille du tas Java peut être spécifiée en tant qu'option de la commande Java.
-Taille initiale du tas Xms
Spécifie l'allocation de mémoire initiale à la machine virtuelle Java. La valeur par défaut est 2 Mo.
-Taille maximale du tas Xmx
Spécifie l'allocation de mémoire maximale à la machine virtuelle Java. La valeur par défaut est 64 Mo.
public static void main(String[] args) { System.out.println(getMemoryInfo()); }
◆Résultat de sortie
Informations sur la mémoire Java : total = 65 088 Ko, utilisation = 524 Ko (0,8%), maximum utilisable = 520 256 Ko
"Total Runtime.getRuntime().totalMemory()" est-Xms, "Le Runtime.getRuntime().maxMemory() maximum disponible" est-XmxC’est lié à.