java -Xmx1024m文件名

-Xmx是什么意思?


当前回答

-Xmx设置堆的最大大小

其他回答

应用程序的最大堆使用是1024 MB

C:\java -X

    -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:<file>    log GC status to a file with time stamps
    -Xbatch           disable background compilation
    -Xms<size>        set initial Java heap size
    -Xmx<size>        set maximum Java heap size
    -Xss<size>        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.

-Xmx选项将修改虚拟机的最大堆空间。java -Xmx1024m意味着虚拟机最多可以分配1024MB。通俗地说,这意味着应用程序最多可以使用1024MB的内存。

看这里:Java工具文档,它说,

-Xmxn 指定内存分配池的最大大小,以字节为单位。该值必须是1024的倍数,且大于2MB。附加字母k或k表示千字节,或m或m表示兆字节。默认值为64MB。在Solaris 7和Solaris 8 SPARC平台上,这个值的上限大约是4000m,在Solaris 2.6和x86平台上是2000m,减去开销。例子: -Xmx83886080 -Xmx81920k -Xmx80m

因此,简单地说,您将Java堆内存设置为可用内存中的最大1024 MB,而不是更多。

注意-Xmx和1024m之间没有空格

不管你用的是大写还是小写。例如:“-Xmx10G”和“-Xmx10G”做完全相同的事情。

-Xmx设置堆的最大大小