Memória “ausente” na VM do ESXi

1

Sou uma contratada e recebi uma VM com 128 GB de RAM que o aplicativo que estou desenvolvendo precisa.

No entanto, eu posso no máximo alocar 74 shows antes que a alocação desacelere significativamente (paging?) e em 86 shows eu recebo um erro de memória.

Eu criei um programa muito simples que apenas entra em loop e aloca memória de 1gb de cada vez, e também mostra o comportamento acima.

O que está acontecendo?

A VM está mal configurada?

Eu corro “top” e pressiono M para ordenar por memória e nada está usando uma quantidade significativa de memória (definitivamente não faltam 46 shows).

executando o red hat no ESXi

    
por Hamid 04.09.2018 / 21:59

1 resposta

1

Obviamente, a visão de uma VM não é a visão completa; Ao tentar visualizar a memória usando comandos Unix em uma VM, você tem uma visão limitada do ambiente e não tem uma visão completa do sistema hipervisor.

O VMWare tem o conceito de supercomprometimento, portanto, se você estiver vendo esse comportamento, alguém forneceu mais memória do que o hypervisor, ou algumas outras VMs nesse host estão competindo por essa memória; e o lento que você vê é provavelmente o hypervisor usando swap em vez de RAM.

Em um caso, ou em outro, o que importa para você é que o hipervisor certamente não tem a RAM total solicitada / não está disponível para sua VM usar.

Então, eu tenho medo que você realmente tenha que ver e / ou conversar com os administradores responsáveis por esse host VMWare.

Consulte diário técnico do vmware - Supercomprometimento de memória no ESX Server para saber mais detalhes.

ESX allows users to power on virtual machines (VMs) with a total configured memory that exceeds the memory available on the physical machine. This is called memory overcommitment.

Overcommitment is the ability to allocate more virtual resources than available physical resources. ESX Server offers users the ability to overcommit memory and CPU resources on a physical machine.

Similar to traditional OSes, ESX allows VMs to power on with a total configured memory size that may exceed the memory available to ESX. For the purpose of discussion in this article, the memory installed in an ESX Server is called ESX memory. If VMs consume all the ESX memory, then ESX will reclaim memory from VMs.

Memory overcommitment does not necessarily lead to performance loss in a guest OS or its applications. Experimental results presented in this paper with two real-life workloads show gradual performance degradation when ESX is progressively overcommitted.

    
por 04.09.2018 / 22:27