JVM内存限制

  1. JVM内存限制方法测试
    JVM有相关内存限制,具体测试方法:java -Xmx1024m -version,中间的-Xmx1024m可以换成其他参数,比如:java -Xmx2048m -XX:MaxPermSize=1024m -version。
    如此可以测试出JVM相关参数得到最大值。
  2. 内存限制和JVM,操作系统位数相关。
    Windows, 32位JVM,32位操作系统:最大堆内存不超过2G
    Windows, 32位JVM,64位操作系统:最大堆内存不超过2G;本地测试:1270m,结果如图


    JVM内存限制_第1张图片
    测试结果

    Windows, 64位JVM,32位操作系统:最大堆内存
    Windows, 64位JVM,64位操作系统:最大堆内存
    --------------- 分割线-----------------
    Linux, 32位JVM,32位操作系统:最大堆内存
    Linux, 32位JVM,64位操作系统:最大堆内存
    Linux, 64位JVM,32位操作系统:最大堆内存
    Linux, 64位JVM,64位操作系统:最大堆内存

  3. 内存大小限制本地线程创建数量


    JVM内存限制_第2张图片
    jmeter测试

    图中是jmeter测试,前置条件是:想要JVM开启5000个线程一直请求,结果OOM了,不能创建更多线程了,创建到的最大线程889个(本地32位JVM,64位Windows操作系统,内存12G)。

你可能感兴趣的:(JVM内存限制)