OS RAM disponível e configuração de JVM de aplicativo

1

Sou novato em servidores e gerenciamento e estou tentando entender o relacionamento entre RAM e JVM. Digamos que eu tenha um servidor com 16 GB de memória física (RAM). Eu tenho um aplicativo em execução no Websphere. Existem 4 servidores de aplicativos no Websphere, cada um executando o mesmo aplicativo. Alocamos 2 GB de JVM em cada um dos 4 servidores de aplicativos. Estou assumindo que 8 GB de RAM são consumidos pelo aplicativo como JVM e os 8 GB restantes são gratuitos. Neste caso, os 8 GB gratuitos são utilizados para algum outro propósito? Agora é possível adicionar 5 novos servidores de aplicativos, cada um alocado 2 B JVM. Em outras palavras, qual é a relação entre RAM e JVM. A soma da JVM adicionada pode exceder a RAM?

P.S. Eu sou um novato, por favor, desculpe se a minha pergunta não faz sentido. Eu estou tentando entender como o aplicativo utiliza a memória do servidor (alocada como JVM).

    
por Kannan Lg 30.07.2013 / 02:58

2 respostas

1

In this case, is the free 8 GB utilized for someother purpose?

Se for possível, sim. Tornar a RAM livre é um custo puro para o sistema operacional - ela só precisa ser usada novamente para usá-la. A menos que o sistema operacional não tenha escolha, ele usará a RAM para outra finalidade. O uso mais comum são dados que foram recentemente lidos ou gravados no disco. Ao mantê-lo na memória, o sistema operacional evita o incômodo de ter que liberá-lo apenas para usá-lo novamente, e se os mesmos dados forem necessários, ele salvará uma operação de leitura de disco.

Now is it possible to add 5 new application servers each allocated 2 B JVM. In other words, what is the relation between RAM and JVM. Can the sum of JVM added exceed the RAM?

Claro. As JVMs estão alocando memória virtual, não memória física. O SO atribuirá memória física à memória virtual como necessário e eficiente. Sistemas operacionais modernos podem permitir que o consumo de memória virtual exceda significativamente a memória física. Isso pode ou não levar a um desempenho ruim, dependendo do tamanho do conjunto de trabalho - aproximadamente quanto da memória virtual é realmente acessada.

    
por 30.07.2013 / 03:01
1

We have allocated 2 GB JVM in each of the 4 application servers.

Eu diria que você definiu o tamanho de heap máximo como 2 GB em cada um dos servidores de aplicativos? Nesse caso, o tamanho do seu processo java será realmente maior, já que o processo java consistirá no tamanho do heap 2 GB + a quantidade de memória nativa que o processo java precisa. A quantidade de memória RAM que a memória nativa do processo java precisa depende do aplicativo e, infelizmente, não pode ser realmente ajustada. Portanto, quando e se seu aplicativo atingir o heap máximo de 2 GB, o tamanho do seu processo java poderá ser de 2,5 a 3,5 GB, possivelmente maior.

Portanto, tenha isso em mente se tiver que alocar JVMs adicionais em sua caixa AIX, para que ele não fique sem memória física e inicie a paginação.

    
por 05.08.2013 / 20:11

Tags