优化之后的eclipse.ini文件内容:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
/home/honki/dev/jdk1.7/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
以下为查找得的一些资料,解释我们在修改的参数是什么意思。
1.堆(Heap)和非堆(Non-heap)内存
按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。
2.堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
3.非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
4.JVM内存限制(最大值)
首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。
举例说明含义:
-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配
-Xmx512m 表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。
说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。
PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
过小会导致:java.lang.OutOfMemoryError: PermGen space
MaxPermSize缺省值和-server -client选项相关。-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m
PS:不同厂家的jdk垃圾回收算法不一样。在sun的jdk下,Xms和Xmx设置一样,可以减轻伸缩堆大小带来的压力,但在ibm的jdk下面,设置为一样会增大堆碎片产生的几率。
下面再简单的整理一下优化MyEclipse速度的主要方法:
1.修改myeclipse.ini。
2.取消自动validation
3.勾掉无用插件。
4.修改启动加载模块
下面附上详细的优化MyEclipse速度方法:
http://yufenfei.javaeye.com/blog/376464
http://blog.csdn.net/defonds/archive/2009/07/10/4338782.aspx
http://zhangpengshou.javaeye.com/blog/198476
http://queue19.javaeye.com/blog/488017
分享到:
相关推荐
本文将深入探讨如何详细品味Eclipse性能优化,以实现更流畅、更快捷的开发体验。 首先,了解Eclipse性能优化的基础知识是非常重要的。这包括理解Eclipse的工作原理,如插件系统、内存管理和启动速度等。优化Eclipse...
《Eclipse性能优化——<深度理解JVM>读书笔记》主要涵盖了如何利用Eclipse IDE进行Java应用程序的性能优化,以及深入理解JVM的工作原理。在本文中,我们将探讨Eclipse的性能调优策略,以及JVM内存管理和垃圾回收机制...
本篇文章主要讲解了Eclipse项目配置的相关知识点,涵盖了项目配置环境变量、数据库连接、日志记录、Eclipse性能优化等方面的内容。 一、项目配置环境变量 在Eclipse项目中,配置环境变量是非常重要的。环境变量...
### Eclipse 开发性能优化与 Java 代码性能优化 在日常的软件开发过程中,尤其是在使用 Eclipse 进行 Android 开发时,经常会遇到 IDE 运行缓慢的情况。为了提高开发效率,本文将详细介绍 Eclipse 开发环境及 Java ...
### Eclipse内存优化详解 在IT领域,特别是在Java开发中,Eclipse作为一个广泛使用的集成开发环境(IDE),其性能和稳定性对开发效率有着直接的影响。然而,由于Eclipse本身较为复杂的功能和架构,它可能会消耗大量...
6. **使用补丁**:压缩包中的“补丁”文件可能是针对Eclipse性能优化的特定解决方案,应用这个补丁可能能解决代码补全缓慢的问题。具体应用方法通常是将补丁文件复制到Eclipse的相应目录,并按照提示进行操作。 7. ...
在IT开发领域,尤其是使用集成开发环境(IDE)如MyEclipse和Eclipse时,性能优化是提升开发效率的关键。这两个流行的Java IDE提供了丰富的功能,但也可能因为资源消耗过大而导致运行缓慢。以下是一些针对MyEclipse和...
#### 七、Eclipse性能优化 **7.1 Eclipse内存设置** - **内存优化**:为防止Eclipse在启动运行时内存溢出,可以在Eclipse的`eclipse.ini`文件中添加如下内存设置: ``` -Xms128m -Xmx768m -XX:PermSize=64M -...
Eclipse是一款广泛使用的Java开发集成环境,其性能和效率对于开发者的工作流程至关重要。为了提高Eclipse的启动速度和运行效率,我们可以对Eclipse的配置进行优化。以下是一些关键的优化策略,主要集中在JVM(Java...
6. **Eclipse性能优化**: - 了解内存分析工具,监控应用内存占用,防止内存泄漏。 - 配置启动参数,调整Eclipse性能,如增加JVM内存分配。 - 使用工作台性能监视器,找出性能瓶颈。 7. **Eclipse插件推荐**: ...
10. **Eclipse性能优化** - 检查性能:使用"性能监视器"插件分析代码性能瓶颈。 - 内存分析:通过内存分析器检查内存泄漏。 通过以上步骤,你将对Eclipse有深入的理解,能够熟练地运用它进行Java开发。不断实践和...
以上便是关于Eclipse插件安装的详细介绍,包括基本的安装流程、J2EE插件的安装、TinyEclipse介绍以及Eclipse性能优化的相关内容。希望这些信息能帮助您更好地使用Eclipse这一强大而灵活的开发工具。
此外,还应注意优化项目的第三方库管理,减少不必要的类加载,从而进一步提升Eclipse的稳定性和性能。 总之,正确地理解和配置Eclipse及其运行时环境的内存管理策略,是保证开发工作顺利进行的关键。
6. **Eclipse性能优化** - **内存设置**:调整Eclipse的初始和最大内存分配,避免启动慢或内存溢出。 - **启动时加载项目**:只加载需要的项目,减少启动时间。 - **禁用无用插件**:不必要的插件会消耗系统资源...
六、Eclipse性能优化 1. 内存设置:根据电脑配置调整Eclipse的内存分配,避免卡顿。 2. 清理临时文件:定期清理工作空间的.metadata目录,以保持Eclipse的最佳状态。 3. 快速启动:使用Eclipse启动参数-eclipse.init...