Bonjour à tous,
Depuis ce matin, j'essaye de mesure la quantité de ram qu'utilise mon programme. En suivant la faq je suis tombé sur :
Si j'ai bien compris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 System.out.print("Ram used in JVM: " + memoryBean.getNonHeapMemoryUsage()); System.out.println("Ram used in app: " + memoryBean.getHeapMemoryUsage());
- la 1ère ligne permet de mesurer la quantité de ram qu'utilise la jvm.
- la 2nde permet de mesurer la quantité de ram qu'utilise mon application.
Mais quand je regarde les résultats j'obtiens ça :
J'ai remarqué que la jvm initialise moins de ram que mon application. Du coup en relisant la doc, j'ai cru comprendre que la 1ère ligne correspond en fait à juste la jvm sans l'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Ram used in JVM: init = 24313856(23744K) used = 38663872(37757K) committed = 80019456(78144K) max = 224395264(219136K) Ram used in app: init = 129210112(126181K) used = 13258216(12947K) committed = 123863040(120960K) max = 1838088192(1795008K)
Du coup si je veux la mémoire nécessaire pour exécuter mon programme il faut que je fasse la somme des deux? juste la somme des used?
Maintenant supposons que la somme des used est égale à 1go et que le commited est égal à 2go. Que va t'il se passer si je change de pc et que mon nouveau pc n'a que 1.5go de ram, le programme va t'il pouvoir s'exécuter?
Bonne journée
Partager