Estou trabalhando em um servidor Windows 2003 (64 bits) com 8 GB de RAM. Como posso aumentar a memória heap no máximo? Estou usando o -Xmx1500m
sinalizador para aumentar o tamanho do heap para 1500 Mb. Posso aumentar a memória heap para 75% da memória física (heap de 6 GB)?
java
heap-memory
Sunil
fonte
fonte
-Xmx6g
? Isso não funcionou? O que você observou?Respostas:
Você pode aumentar para 4 GB em um sistema de 32 bits. Se você estiver em um sistema de 64 bits, poderá subir mais. Não precisa se preocupar se você escolheu incorretamente, se você pedir 5g em um sistema de 32 bits, o java irá reclamar de um valor inválido e sair.
Como outras pessoas postaram, use os sinalizadores de linha cmd - por exemplo
Você pode obter uma lista completa (ou uma lista quase completa, de qualquer maneira) digitando java -X.
fonte
É possível aumentar o tamanho do heap alocado pela JVM usando as opções de linha de comando Aqui temos 3 opções
Na linha acima, podemos definir o heap mínimo para 16mb e o heap máximo de 64mb
fonte
Em uma JVM de 32 bits, o maior tamanho de heap que você pode definir teoricamente é de 4 GB. Para usar um tamanho de heap maior, você precisa usar uma JVM de 64 bits. Tente o seguinte:
O sinalizador -d64 é importante, pois indica à JVM para executar no modo de 64 bits.
fonte
É possível aumentar o tamanho de heap alocado pela JVM no eclipse diretamente No eclipse IDE, vá para
Executar ----> Configurações de Execução ----> Argumentos
Digite -Xmx1g (é usado para definir o tamanho máximo como Xmx256m ou Xmx1g ...... m -> mb g ---> gb)
fonte
java -d64 -Xms512m -Xmx4g HelloWorld
em que, -d64: habilitará a JVM de 64 bits -Xms512m: definirá o tamanho inicial do heap como 512 MB -Xmx4g: definirá o tamanho máximo do heap como 4 GB (aqui o nome do arquivo java é: HelloWorld.java)
fonte
Você pode aumentar o tamanho do heap passando os parâmetros -Xms e -Xmx da JVM, como abaixo:
Para arquivos jar:
Para arquivos Java:
Os parâmetros acima aumentam o InitialHeapSize (-Xms) para 4 GB (4096 MB) e o MaxHeapSize (-Xmx) para 6 GB (6144 MB).
Porém, o tamanho de heap da geração nova permanecerá o mesmo e o HeapSize adicional será adicionado ao tamanho de heap da geração antiga . Para igualar o tamanho dos Young Gen Heap e Old Gen Heap , use -XX: NewRatio = 1 -XX: -UseAdaptiveSizePolicy parâmetros.
-XX: NewRatio = Tamanho da pilha de geração antiga: Jovem geração HeapSize (você pode jogar com essa proporção para obter a proporção desejada).
fonte
Sim você pode. De fato, você pode aumentar para mais do que a quantidade de memória física, se desejar.
Se é uma boa idéia fazer isso depende de quanto mais está sendo executado no seu sistema. Em particular, se o "conjunto de trabalho" dos aplicativos e serviços atualmente em execução exceder significativamente a memória física disponível, seu sistema poderá "thrash", gastando muito tempo movendo as páginas de memória virtual para e do disco. O efeito líquido é que o sistema fica terrivelmente lento.
fonte
Use o comando abaixo para alterar o tamanho da pilha para 6 GB
fonte
Várias pessoas apontaram as respostas específicas para o tamanho da pilha com as opções jvm de
-Xms
e-Xms
. Quero ressaltar que esse não é o único tipo de opções de memória para a jvm. Especificamente, se você obtiver fluxos de pilha em excesso, convém aumentar o tamanho da pilha adicionando uma opção adicional como-Xss8m
.Para esse problema, as opções jvm de algo como
-Xms2g -Xmx6g -Xss8m
seriam uma solução.Estou compartilhando essas informações, pois minhas pesquisas no google sobre como aumentar a memória jvm me levaram a esta solução, e as soluções não funcionaram com grandes quantidades de alocação de memória. Depois que eu descobri quais eram as configurações específicas, consegui pesquisar no Google como aumentar o tamanho da pilha e encontrei o parâmetro ausente. :) Espero que isso economize tempo para os outros, como pouparia uma tonelada de tempo. :)
fonte
Isso funciona apenas com a versão de 64 bits do Java. Vá ao Painel de Controle e clique no ícone Java. Na pequena janela do Java Control Panel, clique na barra de menus Java e, em seguida, clique no
view
botãoSe você tiver duas plataformas Java, desative a versão anterior do Java, clique no campo de texto Parâmetros de Tempo de Execução e grave
-Xmx1024m
ou menor que o tamanho da RAM. Não aumente o tamanho da pilha igual à RAM, caso contrário, seu sistema falhará.fonte
Sim. Você pode.
Você pode aumentar sua memória heap para 75% da memória física (heap de 6 GB) ou superior.
Como você está usando 64 bits, você pode aumentar o tamanho do heap para a quantidade desejada. Caso você esteja usando 32 bits, é limitado a 4 GB.
Define você com o tamanho inicial do heap para 512mb e o tamanho máximo do heaps para 6GB.
Espero que ajude.. :)
fonte
Estou com problemas ao executar os arquivos py no meu código java usando eclipse / STS, obtendo o PyException devido à memória heap da jvm insuficiente. Fiz as alterações conforme mencionado abaixo e consigo resolver esse problema. Abaixo está a minha configuração do sistema.
E essas são as alterações que fiz no meu espaço de trabalho e, agora, ele está perfeito.
fonte