JVM参数说明(转)
做了这么多年java,自以为算是熟悉,其实还差得远,啥也别说了,还是踏踏实实地学吧。今天总结一下常用的JVM的启动参数。
|
参数类别 |
参数项 |
说明 |
|
标准参数(-,所有的JVM实现都必须实现这些参数的功能,而且向后兼容) |
-client |
以client模式启动jvm,这种方式启动速度快,但运行时性能和内存管理效率不高,适合客户端程序或者开发调试。 |
|
-server |
以server模式启动jvm,与client情况恰好相反。适合生产环境。64位的jvm自动以server模式启动。 |
|
|
-classpath -cp |
告诉jvm类搜索路径。如果指定了-classpath,则jvm就忽略CLASSPATH中指定的路径。各路径之间以分号隔开。如果-classpath和CLASSPATH都没有指定,则jvm从当前路径寻找class。 Jvm搜索class的方式和顺序为:Bootstrap(jvm自带的)->Extension(JRE_HOME/lib/ext中的)->User(应用程序自己的)。如下语句会输出上述三种方式的路径信息: System.getProperty("sun.boot.class.path"); System.getProperty("java.ext.dirs"); System.getProperty("java.class.path"); |
|
|
-Dproperty=value |
设置系统属性名/值对。如果value中有空格,则需要使用双引号。 |
|
|
-jar |
指定以jar包的形式启动应用程序 |
|
|
-javaagent:<jarpath>[=<options>] |
指定jvm启动时装入java语言设备代理。关于设备代理是jdk1.5新推出的概念。进一步的信息可以参考java.lang.instrument.Instrumentation接口 |
|
|
-verbose[:class|gc|jni] |
分别输出: Jvm载入类的信息。诊断ClassNotFound错误时有用 Jvm每次gc的信息。 Native方法调用的情况,用于诊断jni调用。 |
|
|
非标准参数(-X ,默认JVM实现此功能,但是不保证所有JVM都实行,而且不保证向后兼容) |
-Xbootclasspath:bootclasspath |
让jvm从指定的路径中加载bootclass,用来替换jdk的rt.jar。一般不会用到。 |
|
-Xbootclasspath/a:path |
被指定的文件追加到默认的bootstrap路径中。 |
|
|
-Xbootclasspath/p:path |
让jvm优先于默认的bootstrap去加载path中指定的class |
|
|
-Xincgc |
开启增量gc,一般也不会用到。 |
|
|
-Xloggc:file |
输出gc日志,在没有专业的监控工具时,这个显得很有用。 |
|
|
-Xmsn |
指定jvm堆的初始大小。默认是物理内存的1/64 |
|
|
-Xmxn |
指定jvm堆的最大值。默认是物理内存的1/4 |
|
|
-Xprof |
跟踪正在运行的程序,并将跟踪数据输出到标准输出,适合开发调试。 |
|
|
-Xssn |
设置单个线程栈的大小。 |
|
|
非稳定参数(-XX,此类参数各个JVM的实现会有不同,而且随时可能消失) |
-XX:+ScavengeBeforeFullGC |
新生代GC优先于Full GC执行 |
|
-XX:+UseGCOverheadLimit |
在抛出OOM之前,jvm消耗在gc上的时间比例。 |
|
|
-XX:-UseConcMarkSweepGC |
采用并发标记交换算法进行GC。并发是指过个线程同时gc,适合多核处理器的情况,并发一定满足并行,反之不成立。 |
|
|
-XX:-UseParallelGC |
启用并行GC。并行是指有独立的线程进行gc,gc时不会打断应用线程。 |
|
|
-XX:-UseSerialGC |
启用串行GC。新版本jdk不会这么干了。 |
|
|
-XX:MaxNewSize=size |
Java堆中新生成对象占用堆的大小 |
|
|
-XX:MaxPermSize=size |
Java堆中年老代占用堆的最大值 |
|
|
-XX:HeadDumpPath=./java_pid<pid>.hprof |
指定导出堆信息时的路径或者文件名。 |
|
|
-XX:-HeadDumpOnOutOfMemoryError |
当首次出现OOM时导出此时堆中相关信息。 |
|
|
-XX:-PrintGC |
每次GC时打印相关信息 |
|
|
-XX:-PrintGC Details |
每次GC时打印详细信息 |
|
|
-XX:-PrintGCTimeStamps |
打印GC的时间戳 |
|
|
-XX:-TranceClassLoading |
跟踪类的加载信息 |
|
|
-XX:-TraceClassLoadingPreorder |
跟踪被引用到的所有类的加载信息 |
|
|
-XX:-TranceClassResolution |
跟踪常量池 |
|
|
-XX:-TraceClassUnloading |
跟踪类的卸载信息 |
http://www.cnblogs.com/wenfeng762/archive/2011/08/14/2137810.html
JVM参数说明(转)的更多相关文章
- JVM参数说明介绍
1.JVM运行时数据区内存参数说明 2.JVM垃圾收集器参数总结 原文:https://blog.csdn.net/bluuusea/article/details/90697340 ======== ...
- JVM参数说明
转载于https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html文章 JVM参数说明 -Xms:初始堆大小 默认值=物理内存的1 ...
- 【JVM】JVM参数说明和分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略, 调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Jav ...
- jvm内存溢出问题
Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 J ...
- tomcat jvm 内存调优 适用于 JDK 6 & 7
参考:https://blog.csdn.net/m0_37327416/article/details/76185051 1.jvm内存管理机制: 1)堆(Heap)和非堆(Non-heap)内存 ...
- java常用JVM参数介绍
采集服务JVM参数说明 -Xmx4g -Xms4g -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=4g -Xss256k Xms 是指设定程 ...
- jvm内存模型、常见参数及调优
JVM内存结构: 主要分为:方法区.堆.虚拟机栈.本地方法栈.程序计数器,其中方法区和堆是线程共享的,其他的都是线程隔离的. 方法区: 主要存放类的信息.静态变量.常量.编译后的方法代码,永久代Per ...
- 【WEB】Tomcat基础使用知识
由于当前项目性质原因,从开始到现在使用的WEB服务器都是WAS,而Tomcat的基础知识也慢慢地被遗忘.由于种种原因,让我参与到了另外一个全新的项目,使用的是Tomcat6.X,所以复习是必须的,而写 ...
- Tomcat常见的内存溢出,以及解决方法
一.常见的三种内存溢出错误: 1.java.lang.OutOfMemoryError:java heap space ====JVM Heap(堆)溢出 JVM再启动的时候回自动设置JVM H ...
随机推荐
- c#关于EXCEL导入数据库的做法
以下例子转载:互联网 先在类中定义一个方法名为ExecleDs的方法,用于将Excel表里的数据填充到DataSet中,代码如下 public DataSet ExecleDs(string file ...
- Android中图片处理相关问题
在Android的开发中,我们经常回去处理一些图片相关的问题,比如当加载图片到内存中产生的OOM(OutOfMemory)异常.图片加载到内存中占多大内存的问题.jpg png两种常见的图片的原理及区 ...
- 设计模式值六大原则——里氏替换原则(LSP)
里氏替换原则(Liskov Substitution Principel)是解决继承带来的问题. 继承的优点: 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性: 提高代码的重用性: 子类 ...
- Windows下配置Mysql
这里说的配置Mysql,是在安装时进行的,请先查看:Windows平台下安装Mysql 紧接上文,安装完成后将配置选项打上对勾,按下“Finish”,出现下面的界面,这里有一个很好的功能,mysql配 ...
- [LeetCode]题解(python):058-Length of Last Word
题目来源: https://leetcode.com/problems/length-of-last-word/ 题意分析: 给出只包括大小写和空格的字符,输出最后一个单词的长度. 题目思路: 从最后 ...
- 一維條碼編碼規則(1D Barcode)
1.Code 39 條碼:又分 標準型Code 39 條碼(Standard Code 39):資料內容包含有0~9數字,A~Z英文字母,”+”,”-“,”*”,”/”,”%”,”$”,”.”以及sp ...
- Google浏览器的缓存文件过大(mega网站导致的)
到选项里清空所有内容也没有用. 后来手动找了一下,原来在这里,存了在这里存了整整10G的缓存: C:\Users\my\AppData\Local\Google\Chrome\User Data\Pr ...
- 数据解析之XML和JSON
1. 解析的基本的概念 解析:从事先规定好的格式中提取数据 解析前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JOSN解析 2. X ...
- for语句之打印三角形问题
1.左下角直角三角形 Console.Write("请输入要打印几行:"); int a = Convert.ToInt32(Console.ReadLine()); ; i &l ...
- CentOS安装rar及用法
1.下载安装rar wget http://www.rarsoft.com/rar/rarlinux-x64-5.4.b3.tar.gztar -zxvf rarlinux-x64-.tar.gz - ...