java虚拟机启动时的参数,例如:
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
参数中-vmargs的意思是设置JVM参数,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。
堆(Heap)和非堆(Non-heap)内存
按
照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java
虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap
memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给
自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法
的代码都在非堆内存中。
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存
的1/64;JVM最大分配的内存由
-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆
直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
JVM内存限制(最大值)
首
先JVM内存限制于实际的最大物理内存(废话!呵呵),假设物理内存无限
大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是
2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。
这样启动eclipse时可以将参数加到eclipse.ini里面
也可以在终端运行:eclipse -vmargs -Xmx1024M -XX:MaxPermSize=512M
就可以避免因eclipse内存过小导致的退出问题了,如:Perm Gen Error
分享到:
相关推荐
NULL 博文链接:https://zhangzemin007.iteye.com/blog/1683963
JVM启动参数应用集合
tomcat7安装使用及jvm连接数参数调优
JVM_启动参数_总结。详细介绍JVM的详细启动参数及JVM垃圾回收机制。
目 录 1 表格列表 2 一、 JVM工具 2 1. jps:虚拟机进程状况工具 2 2. jstat:虚拟机统计信息监视工具 2 3. jinfo:java配置信息工具 3 4. jhat:虚拟机堆转储快照分析工具 3 ...表格 4 JVM启动参数 6 一、
linux 下jvm基本参数设置 查看linux jvm的设置基本命令
JVM优化的文档 讲解了jvm启动参数!!
java启动参数共分为三类; 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容...
主要介绍了IntelliJ IDEA设置JVM运行参数的操作方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
描述JVM6主要的调试启动参数,网上收集整理。
下面小编就为大家带来一篇在java代码中获取JVM参数的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。 -Xms:初始值 -Xmx:最大值 -Xmn:最小值 解决办法: 修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\...
JVM 的 noverify 启动参数问题解析.rar
设置环境变量或JVM启动参数 环境变量方式 export config.server=localhost:6379 export config.environment=dev JVM启动参数方式 -Dconfig.server=localhost:6379 -Dconfig.environment=dev 在程序中获取配置 import...
1. 环境准备与相关设置 2. 常用性能指标介绍 3. JVM基础知识 4. Java字节码技术 5. JVM类加载 7. JVM启动参数详解 8. JDK内置
该文档描述了开发测试环境中Docker及JVM内存限制部署方案
Eclipse 的启动参数,份额日JVM、Eclipse、OSGI几类,遇到问题后查的
JVM 支持将日志输出到控制台或指定的文件中,方法为: 1、 输出到控制台 在 JVM 的启动参数中加入-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime,按照参数的顺序分别...
JVM启动流程 内存模型和volatile实例 解释和编译运行的概念 介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。 第三课 常用JVM参数 堆的分配参数 栈分配及实例讲解 server与client模式 调试...
2. 默认启动参数 JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256 -XX:MetaspaceSiz e=128m -XX:MaxMetaspaceSize=320m" JAVA_OPT="${JAVA_OPT} -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+Pr ...