Neste artigo, discutiremos alguns comandos, ferramentas e técnicas iniciais para ajudar a rastrear a memória da CPU e a utilização do disco em Java.
As ferramentas Java supervisionam as construções e processos do bytecode Java. Os criadores de perfil Java controlam todos os comandos do sistema e o uso do processador. Isso permite que você chame fundos a qualquer momento.
O criador de perfil padrĂŁo fornece uma riqueza de conhecimento, cujo valor depende do propĂłsito da depuração. Algumas ferramentas sĂŁo melhores para agregar logs para todos os aplicativos e servidores, como Stackify Retrace , configurando e rastreando um log de solicitação automática. Ferramentas: Gerenciamento de desempenho de aplicativos da Stackify, Retrace - oferece aos usuários de Java uma melhor compreensĂŁo do design do aplicativo por meio de registro integrado e criação de perfil de cĂłdigo. Junto com o log centralizado e estruturado implementado, Ă© possĂvel acessar todos os logs de aplicativos a partir de um Ăşnico ponto para todos os aplicativos e servidores.
Aqui, listamos maneiras de demonstrar o rastreamento de memĂłria e CPU em Java para otimizar seu cĂłdigo.
5 maneiras de monitorar a memĂłria da CPU e o uso do disco em Java!
Comandos básicos do Linux para rastrear o uso da memória da CPU e do disco
a) livre –m
O comando transfere a memĂłria disponĂvel e ocupada para sua máquina virtual.
b) topo
Este comando Ă© para ver o uso da CPU e da memĂłria.
Quando vocĂŞ insere 1 no teclado, o top irá disparar e exibir todas as CPUs possĂveis e o uso de cada uma.
Existem 4 CPUs no total - CPU0, CPU1, CPU2, CPU3 - e todas as suas estatĂsticas de uso.
c) meminfo e cpuinfo
Use os comandos a seguir para obter informações detalhadas sobre memória e processadores de máquina virtual.
$ cat / proc / cpuinfo
$ cat / proc / meminfo
d) MemĂłria da CPU e uso de disco de um processo particular.
$ 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.
Use comandos limitados / remotos para mĂ©todo de depuração em Java. Um aplicativo que monitora registros na porta especificada nĂŁo avançará atĂ© que a etapa (ii) seja concluĂda.
Captura de tela da entrada do aplicativo: Monitoramento para transporte dt_socket no endereço: 9001
Inicialize o projeto no IDE no modo de depuração e anexe a criptografia ao host e à porta.
Depure seu cĂłdigo em um Ăşnico servidor com um IDE.