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 !
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 â>
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
(-Agentpath)
java Windows, Linux masOS. -Agentpath - .
:
java âagentpath:/usr/profiler/lib/[agent].so -jar application.jar
, .
JProfiler Yourkit .
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 .
(-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.