最新消息:20210917 已从crifan.com换到crifan.org

【整理】JVM参数-Xms和-Xmx参数的含义

Xmx crifan 1268浏览 0评论
折腾:
【基本解决】尝试破解安卓apk马蜂窝去得到java源码
期间,从:
Android 反编译利器,jadx 的高级技巧 – 简书
看到可以设置jvm参数来规避OOM:
DEFAULT_JVM_OPTS='"-Xms128M" "-Xmx4g"'
-》自己从名字中猜测出:
  • ms=memory small=最少内存
  • mx=memory max=最大内存
-》不过之前最大内存已经弄到了4G了,对于当前电脑是8G内存,设置6G,也足够大了。应该够下次用了。
->搜:
DEFAULT_JVM_OPTS xms
Java Option – Google Groups
gradle – Run application via gradlew with -Xmx and -Xms – Stack Overflow
Xms Xmx PermSize MaxPermSize 区别 – 残星 – 博客园
java – What are the -Xms and -Xmx parameters when starting JVM? – Stack Overflow
自己后来去回复了帖子:
How is the default Java heap size determined? – Stack Overflow
【总结】
-Xms,-Xmx都是JVM(=Java Virtual Machine=Java虚拟机)的参数
  • -XmsXXX:
    • 含义:JVM初始时,最小的分配的堆内存的大小
    • 语法:-Xms<size>[g|G|m|M|k|K]
    • 典型值:
      • -Xms128M
      • -Xms256m
      • -Xms512M
    • -》s估计表示startup中的s
    • 默认值:
      • -server模式:25%的可用物理内存
        • 最小8M,最大64M
      • -client模式:25%的可用物理内存
        • 最小8M,最大16M
    • 提示
      • 最少不能低于8M
      • 最大不能超过-Xmx的设置
  • -XmxXXX:
    • 含义:JVM最大允许分配的堆内存的大小
    • 语法:-Xmx<size>[g|G|m|M|k|K]
    • -》x应该是Maximum中的x
    • 典型值
      • -Xmx1g
      • -Xmx2048m
      • -Xmx4g
      • -Xmx6g
      • -Xmx8g
    • 默认值
      • 一般是
        • 50%-75%的可用内存
        • 最大为1G或2G
      • 详见:
细节详见官网文档:
-X Command-line Options

转载请注明:在路上 » 【整理】JVM参数-Xms和-Xmx参数的含义

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
96 queries in 0.317 seconds, using 19.99MB memory