Como saber o atual uso de Memoria RAM/CPU

2 respostas
java
G

Olá, gostaria de saber se existe algum método para obter o atual uso da memoria RAM de uma aplicação Java e da CPU.

usando Runtime, o uso que indica, não está exato.

2 Respostas

Rodrigo_Void

Depende o contexto, o código abaixo traz dados da JVM (ram consumida, disponivel para jvm):

Runtime runtime = Runtime.getRuntime();

long maxMemory = runtime.maxMemory();

long allocatedMemory = runtime.totalMemory();

long freeMemory = runtime.freeMemory();

Se quer saber do sistema como um todo:

OperatingSystemMXBean.getTotalPhysicalMemorySize()
OperatingSystemMXBean.getFreePhysicalMemorySize()
OperatingSystemMXBean.getSystemLoadAverage() / OperatingSystemMXBean.getAvailableProcessors()

Ler carga da CPU, se n estou enganado, n funciona no windows.

FearX

Tbm acredito que não.

Existe uma biblioteca aí muito interessante chamada SIGAR. Eu usei ela para fazer um projeto que, basicamente, pegava as informações da CPU, RAM, NET e HDD a cada segundo e armazenava num banco de dados. Muito legal, usei ela para fazer a parte da CPU e RAM. NET e HD eu pegava nativamente com o Java, mesmo. Dá uma olhadinha nela, muito fácil de usar.

[]'s

Criado 2 de abril de 2019
Ultima resposta 3 de abr. de 2019
Respostas 2
Participantes 3