Memória alocada para o Java

Quanto de memória a MVJ pega por default do SO ???

E como posso aumentar isso ??? Tem uns parâmetros pra isso né?

O manual mandou lembrancas, disse que ta com saudades :slight_smile:

[code]$ java -help
Usage: java [-options] class [args…]
(to execute a class)
or java [-options] -jar jarfile [args…]
(to execute a jar file)

where options include:
-client to select the “client” VM
-server to select the “server” VM
-hotspot is a synonym for the “client” VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
              A ; separated list of directories, JAR archives,
              and ZIP archives to search for class files.
-D<name>=<value>
              set a system property
-verbose[:class|gc|jni]
              enable verbose output
-version      print product version and exit
-version:<value>
              require the specified version to run
-showversion  print product version and continue
-jre-restrict-search | -jre-no-restrict-search
              include/exclude user private JREs in the version search
-? -help      print this help message
-X            print help on non-standard options  ## <<<<---------- AHA!
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
              enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
              disable assertions
-esa | -enablesystemassertions
              enable system assertions
-dsa | -disablesystemassertions
              disable system assertions
-agentlib:<libname>[=<options>]
              load native agent library <libname>, e.g. -agentlib:hprof
                see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
              load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
              load Java programming language agent, see java.lang.instrument[/code]

Vejamos o que tem nas opcoes -X na minha JVM (Sun 1.5):

[code]$ java -X -help
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc: log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms set initial Java heap size ## <<<<---------- AHA!
-Xmx set maximum Java heap size ## <<<<---------- AHA!
-Xss set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.

The -X options are non-standard and subject to change without notice.[/code]

Veja se isso te ajuda camarada

http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp

http://weblogs.java.net/blog/aiqa/archive/2005/04/jvm_memory_usag.html

agora mudar essa capacidade dinamicamente via soft não da ne? Nunca vi isso…

Só faltou responder qual é por default a memória que a MJV aloca se vc não especificar nada. Isso o manual não responde. :slight_smile:

De qualquer forma obrigado, pois não sabia que tinha help para parametro (java -X -help). Pensei que era só para o programa inteiro (java -help).

O que ser uma MJV? O termo é JVM ou MVJ se traduzir. A implementação da Sun usa 64mbits de heap por padrão (1.4 e 1.5 pelo menos).

Veja que é a quantidade de memoria alocada para o heap de objetos, não a quantidade de memoria utilizada pelo software como um todo. Para isso não creio que exista algum parâmetro ou valor documentado.

Aproveitando o tópico: qual a diferença de GARBAGE COLLECTION tipo GENERATIONAL e NON-GENERATIONAL?

Como a explicação é um bocado complicada, vou dar o link:

http://www-106.ibm.com/developerworks/java/library/j-jtp11253/

grato!