Muita memória livre, mas o Java não inicia (SunOS 5.10)

0

vmstat dá:

swap        free
37489684    110178592

Ainda tenho problemas ao tentar executar o processo Java com 10g de heap:

> java -Xmx10g -Xms10g -d64 HelloWorldApp

Error occurred during initialization of VM
Could not reserve enough space for object heap

Por que isso acontece e como remediar o problema?

Atualização. Saída de ulimit -a :

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 10
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 25525
virtual memory          (kbytes, -v) unlimited
    
por user1065145 20.08.2014 / 14:09

3 respostas

1

Você pode ter RAM disponível, mas ainda assim ficar sem swap. Eu acredito que isso poderia ser o que você está experimentando. Investigue com swap -s .

Como uma segunda idéia, o problema pode ser devido ao fato de não haver memória suficiente contígua , embora pareça bastante estranho se o SO não puder encontrar 10 GB de memória livre contígua quando parecer para > 100 GB gratuitos.

    
por 21.08.2014 / 12:09
1

Sua área de troca é altamente subdimensionada. Uma grande parte da memória RAM reportada como livre é de fato inutilizável porque serve como um backing store para outras reservas de memória de programas. Basta adicionar alguma troca, pode ser um arquivo simples e você poderá iniciar sua JVM.

    
por 21.08.2014 / 13:08
0

Tente com o seguinte:

java -Xms512m -Xmx512m -d64 HelloWorldApp

ou

java -Xms1024m -Xmx1024m -d64 HelloWorldApp

Também pode ser porque é muito alto.

    
por 20.08.2014 / 14:36