为了找到Eclipse JVM的最优设置,我反复研究反复试验,以下是我找到的最优设置:
-vmargs -XX:+UseParallelGC
我的系统环境是双核+Windows+JDK6.0+Eclipse。
以上参数在命令行下启动Eclipse也是可用的。接下来我们讨论一下 JDK6.0
中垃圾回收器的”ergonomics”特性,这个特性可以使JVM实现自动控制。这个特性仅仅在使用UseParallelGC collector
(也被称为parallel scavenge collector)的时候会被激活。注意使用该特性的时候无需通过-XmxNNNm
来设置堆空间。根据相关的资料,任何其他的参数设置都会使 JVM
无法实现自动控制。因为只要我们设置了其他参数,JVM就会使用我们的参数设置而忽略自身的”ergonomics”特性(JVM以为我们更了解其内在的
机制,其实不然)。
如何想查看垃圾回收器的日志信息,我们可以使用以下的参数(不要换行)设置将日志信息输出到指定的文件中:
-vmargs -Xloggc:c:tempe.txt -XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -verbose:gc
-XX:+UseParallelGC
原文:
In my neverending quest to find the best JVM settings for running
Eclipse I’ve been pouring over talks and papers given by Sun engineers
and trying different things. Here are the best options that I’ve found
so far for my 2-processor Windows machine running JDK6.0 and Eclipse3.4:
-vmargs -XX:+UseParallelGC
These go on the Eclipse executable’s command line. What I’m doing
here is taking advantage of the JDK5.0 garbage collection “ergonomics”
feature to let the JVM self tune. It’s only active with the
UseParallelGC collector (also called the parallel scavenge collector).
Note there is no -XmxNNNm option to set the heap size. According to the
doc, any sizing or tweaking options will disable self tuning because it
figures we know better than it does (it doesn’t know us very well does
it?).
If you want to see what the garbage collector is doing you could add
more printing options like this (all on one line) to dump some logging
information to a file that you can view or process later:
-vmargs -Xloggc:c:tempe.txt -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-XX:+PrintTenuringDistribution -verbose:gc -XX:+UseParallelGC
分享到:
相关推荐
设置Eclipse的JVM参数
你对Eclipse中JVM内存设置方法是否熟悉,这里通过几个问题向大家解释一下,安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JRE。
Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有...2:所有在-vmargs之后的参数将会被传输给JVM,所有如果所有对Eclipse 设置的参数必须写在-vmargs之前(就如同你在命令行上使用这些参数一样)
在2015年EclipseCon上,Zero Turnaround(消除Java...从Eclipse Marketplace下载安装后,Eclipse优化器会通过一系列的向导步骤询问用户是否调整JVM启动参数中的内存设置和其他性能标志,从而大大提升应用的启动速度。
运行参数如下: eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M <br>-------------- <br>JVM 提供了各种用于调整内存分配和垃圾回收行为的标准开关和非标准...
这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将-Xmx 和-XX:MaxPermSize 都设置为512M 之后Eclipse 可以启 ...3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置?
112 5.2.5 服务器JVM进程崩溃 / 113 5.3 实战:Eclipse运行速度调优 / 114 5.3.1 调优前的程序运行状态 / 114 5.3.2 升级JDK 1.6的性能变化及兼容问题 / 117 5.3.3 编译时间和类加载时间的优化 / 122 5.3.4 ...
JUnitLaunchFixer 是一个简单的插件,用于在 Eclipse 中为任何基于 JUnit 的启动器自动设置 JVM 最大堆大小参数。 通过这种方式,您可以使用该插件自动设置手动或在 Eclipse 中自动创建的任何 JUnit 启动的堆大小。 ...
在Eclipse中的属性设置> 事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的...
│ 19-tomcat中JVM参数优化.avi │ ├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt │ │ │ ├─相关资料 │ │ redis-3.0.1.tar.gz │ │ redis-3.0.2.tar.gz │ │ redis-3.2.1.gem │...
在Eclipse中的属性设置> 事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant ...
在Eclipse中的属性设置> 事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant ...
如果不能运行,将ch07文件夹下的swt.jar加入构建路径,然后在运行中的JVM参数中加入-Djava.library.path="dll所在目录的绝对路径"即可。 也可以在命令行下直接运行该程序,假设ch07文件夹放在D盘跟目录。则在cmd下...
等距图块生成器开发人员该项目使用Lombok,并且必须设置JVM参数:-javaagent:/eclipse-oxygen/lombok.jar=ECJ建造mvn clean install(然后将战争部署在某些Web容器上;例如Tomcat)
在命令行窗口运行Java程序的时候,加上这个很有用的参数: java -verbose *.class 这样会清晰的打印出被加载的类文件,大部分是jdk自身运行需要的,最后几行会明显的看到自己用到的那几个类文件被加载进来的顺序。...
b)常用的 Nginx 参数 - 3 - c)静态文件处理 - 4 - d)动态页面请求处理 - 4 - e)下面为nginx.conf配置实例: - 5 - f)Nginx 启动,停止等命令 - 8 - (2) Resin安装配置 - 9 - 1) Resin安装 - 9 - 2) Resin配置 - 9 - ...
5.3.4 调整内存设置控制垃圾收集频率 5.3.5 选择收集器降低延迟 5.4 本章小结 第三部分 虚拟机执行子系统 第6章 类文件结构 6.1 概述 6.2 无关性的基石 6.3 Class类文件的结构 6.3.1 魔数与Class文件的版本...
如何设置上下文(Context Path) 如何知道使用了那些jar包 如何配置SSL 如何使用非root用户监听80端口 如何配置连接器(Connectors) 如何配置虚拟主机(Virtual Hosts) 如何配置会话ID(Session IDs) 如何序列化...
1.3 关于JVM的执行效率 2 1.4 客户端市场的折戟 3 1.5 Java的主要就业方向 3 1.5.1.1 Web开发 3 1.5.1.2 Android开发 3 1.5.1.3 客户端开发 3 1.6 Java的不同版本 4 1.6.1.1 J2SE(Java 2 Platform Standard Edition)...