`
liqiang_cn
  • 浏览: 7146 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

eclipse.ini/myeclipse.ini中JVM配置详解

jvm 
阅读更多
  今天下午查了一些关于优化MyEclipse速度的文章,受益匪浅。不过知其然也要知其所以然。比如说在提到通过修改myeclipse.ini文件中参数-Xms,-Xmx,-PerSize的值时,这几个参数具体是指什么?在网上搜集了一些资料,现整理如下:

这涉及到JVM的内存管理机制。
        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


转帖来自 http://blog.csdn.net/moonsheep_liu/article/details/5828213
分享到:
评论

相关推荐

    myeclipse.ini

    ### myeclipse.ini 文件解析与知识点详解 #### 一、myeclipse.ini 文件概述 `myeclipse.ini` 是 MyEclipse 启动时读取的配置文件之一,用于设置 MyEclipse 的运行参数,包括 JVM(Java Virtual Machine)参数等。...

    ( MyEclipse 优化(全).txt )

    - 对于MyEclipse 8.5版本,可以通过调整`eclipse.ini`文件中的JVM参数来提高性能: - 增加JVM的最大永久代空间大小:`-XX:MaxPermSize=512M` - 设置初始堆内存大小:`-Xms128m` - 设置最大堆内存大小:`-Xmx512m...

    Flash Budiler4.6与myeclipse9整合

    ../Common/plugins/org.eclipse.equinox.launcher.i18n.win32.win32.x86_3.2.0.v201102231800 -install d:/ProgramFiles/MyEclipse/MyEclipse9 -vm d:/ProgramFiles/MyEclipse/Common/binary/...

    解决flex 4.6内存不足myeclipse中无法加载设计模式

    解决flex 4.6内存不足myeclipse中无法加载设计模式 1 解决flexbuilder4无法加载设计模式内存不足的方法为先新建一java工程,再新建flex项目 2(1). 调整FlashBuilder eclipse.ini 编辑 {FlashBuilder 安装路径}/...

    MyEclipse6.5优化

    1. 在`MyEclipse/eclipse/eclipse.ini`文件中配置Java虚拟机路径。例如,可以使用相对路径如`-vm../xx/jre/bin/javaw.exe`。 2. 修改`MyEclipse6.5\eclipse\links\com.genuitec.eclipse.MyEclipse.link`文件,将其...

    ssh2错误学习记录

    在IDE的配置文件,如`myeclipse.ini`或`eclipse.ini`中,指定JVM路径是非常重要的。如果未指定或指定错误,可能导致IDE无法正常启动。在本例中,路径被设置为`G:\java\jdk-7u25-windows-x64\bin\javaw.exe`。 6. *...

    myEclipse6.5解决启动错误或中途崩溃自动关闭

    1. **修改myEclipse安装目录下的`eclipse.ini`文件** 2. **删除`configuration`目录下的`config.ini`文件** 3. **清理`workspace`目录下的`.metadata`文件** #### 三、详细步骤 ##### 1. 修改`eclipse.ini`文件 -...

    JVM参数配置及MyEclipse内存不足.rar

    - 打开MyEclipse的启动配置文件,通常是`eclipse.ini`或`myeclipse.ini`,位于安装目录下。 - 在`-vmargs`行之后添加JVM内存参数,根据计算机性能和需求适当调整。例如: ``` -Xms1024m -Xmx2048m -XX:...

    MyEclipse极速优化

    ../Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar --launcher.library ../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34 -vmargs -Xms512m -Xmx1024m...

    MyEclipse内存不足谈谈JVM内存

    - **其他配置冲突**:有时候Eclipse的启动脚本或其他配置文件中可能存在冲突的设置,导致指定的JVM参数未能生效。 为了解决这个问题,可以尝试以下方法: - 检查eclipse.ini文件中的语法是否正确,确保参数位于...

    myeclipse 解决内存的问题

    - 打开MyEclipse安装目录下的`eclipse.ini`文件,调整JVM的最大永久代大小(PermGen)和堆内存大小: - `--launcher.XXMaxPermSize` 设置最大永久代大小,如 `256m`。 - `-Xms` 和 `-Xmx` 分别设置初始堆内存和...

    ( MyEclipse 使用总结(全).rar )

    配置文件(eclipse.ini或myeclipse.ini).txt"是关于MyEclipse启动参数配置的,通过修改这些参数,可以优化启动速度,增加内存分配,甚至安装特定插件。 "42. 关于软件版本.txt"可能涉及到MyEclipse的版本选择与更新...

    eclipse.软件包

    1. **eclipse.ini**:这是Eclipse的启动配置文件,其中包含了启动参数,如JVM路径、内存设置等,可以根据实际需求进行调整。 2. **plugins** 目录:存放Eclipse的各种插件,每个插件以.jar文件形式存在,负责实现...

    MyEclipse8.x_优化

    MyEclipse 8.x 的安装目录中的 myeclipse.ini 文件可以进行修改,以提高 JVM 的非堆内存。方法是:在 myeclipse.ini 文件中添加以下内容: -configuration -vmargs -Xms256m -Xmx512m -XX:PermSize=128M -XX:...

    MyEclipse eclipse 开发工具性能优化

    通常,可以通过修改启动配置文件(如`myeclipse.ini`或`eclipse.ini`)来增加`-Xms`和`-Xmx`参数,例如设置为`-Xms512m -Xmx2048m`,以确保IDE有足够的内存运行。 5. 优化索引和缓存: - 定期清理和重建索引,如...

    MyEclipse经常报内存不足解决方案

    在MyEclipse的安装目录下,找到`eclipse.ini`文件(或者`myeclipse.ini`,具体取决于你使用的MyEclipse版本),这是启动配置文件。你需要在这里面添加或修改内存参数。 以下是一个示例配置: ```ini -startup ...

    MyEclipse开发环境搭建

    1. 安装 VSS 插件,解压缩 org.vssplugin_1.6.2.zip 中文件夹到 C:\MyEclipse 6.0\eclipse\plugins 目录中去,重新启动 Eclipse,我们可以看到菜单栏中多了个叫做 VSS 的菜单,表明我们的插件安装成功了。...

Global site tag (gtag.js) - Google Analytics