Comment suivre l'utilisation de la mémoire du processeur et l'utilisation du disque en Java

Dans cet article, nous aborderons certaines commandes, outils et techniques initiaux pour aider à suivre la mémoire du processeur et l'utilisation du disque en Java.





Les outils Java supervisent les constructions et les processus du bytecode Java. Les profileurs Java gardent une trace de toutes les commandes systĂšme et de l'utilisation du processeur. Cela vous permet d'appeler des fonds Ă  tout moment.





Le profileur standard fournit une mine de connaissances, dont la valeur dĂ©pend de l'objectif du dĂ©bogage. Certains outils sont meilleurs pour agrĂ©ger les journaux de toutes les applications et serveurs, tels que Stackify Retrace , la configuration et le suivi d'un journal de demande automatique. Outils : la gestion des performances des applications de Stackify, Retrace â€“ offrent aux utilisateurs Java une meilleure comprĂ©hension de la conception de l'application grĂące Ă  la journalisation intĂ©grĂ©e et au profilage du code. Avec la journalisation centralisĂ©e et structurĂ©e mise en Ɠuvre, il est possible d'accĂ©der Ă  tous les journaux d'applications Ă  partir d'un seul point pour toutes les applications et tous les serveurs.





Ici, nous avons rĂ©pertoriĂ© des moyens de dĂ©montrer le suivi de la mĂ©moire et du processeur en Java pour optimiser votre code.  





5 façons de surveiller la mĂ©moire CPU et l'utilisation du disque en Java !





  1. Commandes Linux de base pour le suivi de l'utilisation de la mémoire CPU et de l'utilisation du disque





    a) libre –m





    La commande transfÚre la mémoire disponible et occupée vers votre machine virtuelle.





    b) haut





    Cette commande permet d'afficher l'utilisation du processeur et de la mémoire.





    Lorsque vous entrez 1 sur votre clavier, top se déclenche et affiche tous les processeurs possibles et l'utilisation de chacun.





    Il y a 4 CPU au total - CPU0, CPU1, CPU2, CPU3 - et toutes leurs statistiques d'utilisation.





    c) meminfo et cpuinfo





    Utilisez les commandes suivantes pour obtenir des informations détaillées sur la mémoire et les processeurs de machine virtuelle.





    $ cat / proc / cpuinfo





    $ cat / proc / meminfo





    d) l' utilisation de la mémoire CPU et du disque d'un processus particulier.





    $ ps -p [pid] -o% cpu,% mem, cmd





    CPU Java. .





    e) Java .





    $ps uH –p [pid]





    .





    CPU .





    , , . CPU.





    df –k  –>





    lsof -i :<port> –> ,





    lsof –i: tcp –> TCP





    netstat -plunt  –>









  2. ManagementFactory . MemoryMXBean. MemoryMXBean:





    MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
    
    System.out.println(String.format(“Initial memory: %.2f GB”, 
    
      (double)memoryMXBean.getHeapMemoryUsage().getInit() /1073741824));
    
    System.out.println(String.format(“Used heap memory: %.2f GB”, 
    
      (double)memoryMXBean.getHeapMemoryUsage().getUsed() /1073741824));
    
    System.out.println(String.format(“Max heap memory: %.2f GB”, 
    
      (double)memoryMXBean.getHeapMemoryUsage().getMax() /1073741824));
    
    System.out.println(String.format(“Committed memory: %.2f GB”, 
    
      (double)memoryMXBean.getHeapMemoryUsage().getCommitted() /1073741824));
          
          



    , , . :





    : Java





    : , Java





    : JVM. OutOfMemoryException ,





    : JVM





  3. (-Agentpath)





    java Windows, Linux masOS. -Agentpath - .





    :





    java –agentpath:/usr/profiler/lib/[agent].so  -jar application.jar





    , .





    JProfiler Yourkit .





  4. Java (-Javaagent)





    Java -javaagent , . Java :





    a) premain()  





    b) Pre-Main MANIFEST.MF JAR,





    c) JVM –javaagen





    java -javaagent:agent.jar -jar application.jar





    premain() main() , -javaagent -jar.





    , main() , agentmain() . Agent-Main MANIFEST.MF .





  5. (-Agentlib)





    -Agentlib - , JVM . :





    1) HPROF 





    2) JVM





    1) HPROF: 





    HPROF CPU, Java. . –agentlib:hprof –Xrunhprof HPROF.





    JVM , , java.hprof.txt. 





    java agentlib:hprof=heap=sites Hello.java





    HPROF , .





    javac -J-agentlib:hprof=heap=sites Hello.java





    2)





    –agentlib:jdwp . JVM





     java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:9001, server=y,suspend=y –jar application.jar 





    , IDE.





    Utilisez des commandes limitées / distantes pour la méthode de débogage en Java. Une application qui surveille les enregistrements sur le port spécifié ne passera pas avant la fin de l'étape (ii).





    Capture d'Ă©cran de l'entrĂ©e de l'application : Surveillance du transport dt_socket Ă  l'adresse : 9001





    Initialisez le projet dans l'IDE en mode débogage et attachez le chiffrement à l'hÎte et au port.





    Déboguez votre code sur un seul serveur avec un IDE.








All Articles