Como o vmstat considera o heap java?

1

Gostaria de fazer uma pergunta sobre vmstat .

Eu executo um mecanismo jvm no kernel do linux (RHEL 7.3) e quero saber a memória real que o processo pode usar.

Eu uso o vmstat para ver a quantidade de memórias disponíveis, mas não tenho certeza se o relatório inclui os bytes confirmados do heap java ou bytes usados do heap java .

Abaixo está o exemplo do vmstat que eu uso. Meu ambiente é

OS mem   : 4GB
JVM Heap : 2GB


[ywatanabe@localhost tmp]$ vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 771932   2108 546772    0    0    34    81  189  161  5  1 95  0  0
 0  0      0 771932   2108 546776    0    0     0     0   82  115  0  1 99  0  0
 0  0      0 771932   2108 546776    0    0     0     0   74  111  0  0 100  0  0

Qual é a exclusão da coluna gratuita ? bytes confirmados do heap java ou o java heap bytes usados ?

    
por Yu Watanabe 08.12.2017 / 01:50

1 resposta

1

A coluna vmstat free está relatando a quantidade de memória física (RAM) que não contém nada usado ou utilizável pelo sistema, para que possa ser alocado imediatamente.

O bytes do heap Java está representando a quantidade de memória virtual que a JVM solicitou do sistema operacional.

O heap Java usado bytes está representando a quantidade de memória virtual que contém dados reais (objetos).

Dado o fato de que a memória virtual pode estar presente na RAM, no disco (arquivos ou swap) ou em nenhum lugar, você não pode comparar com confiabilidade a RAM e o uso de memória virtual.

    
por 08.12.2017 / 02:59

Tags