Como limitar um processo Java a uma certa quantidade de RAM?

4

Estou tentando limitar o Minecraft a uma certa quantidade de memória. Para esse fim, eu inicio a partir de um arquivo de lote com a seguinte linha:

javaw -Xms256M -Xmx256M -cp Minecraft.exe net.minecraft.LauncherFrame

mas rotineiramente ultrapassa 800 MB.

Eu também tentei ir ao applet Java no Painel de Controle. Em seguida, para a guia Java / View ..., adicione o seguinte parâmetro de tempo de execução:

-Xmx256m

Isso também não ajudou.

O que posso fazer para limitar um processo java (ou pelo menos Minecraft em particular) a 256 MB de RAM.

    
por AngryHacker 19.09.2011 / 05:27

1 resposta

4

-Xmx apenas restringe o heap Java. O código em si, a JVM, as DLLs do SO, as estruturas de dados Java internas e as pilhas de encadeamentos levam memória adicional. No seu caso, eles aparentemente levam mais de 550 MB de RAM. Nenhuma configuração de heap traria o total abaixo de 256 MB.

No entanto, observe que as partes do código podem ser compartilhadas entre os processos. Uma DLL que usa 5 MB de RAM em seu processo geralmente usará os mesmos 5MB de RAM em outro processo.

    
por 19.09.2011 / 12:41