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

R

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.

F

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