eclipse内存优化

编程技术  /  houtizong 发布于 3年前   253

一 基本说明
     在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。
    1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人员使用的.
    2)非堆内存(Non-heap memory):在JVM中堆之外的内存,非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中.
    JVM有4个常用参数,在使用javaxxx命令中,添加下面的参数,既可改变应用的内存.否则在内存不足的情况下,会抛出outOfMemoryError异常.
-Xms512M    //最小堆内存,默认是物理内存的1/64
-Xmx512M    //最大堆内存,默认是物理内存的1/4
-XX:PermSize=64M    //最小非堆内存,默认是物理内存的1/64
-XX:MaxPermSize=128M    //最大非堆内存,默认是物理内存的1/4

二 eclipse中,内存设置
方法1:修改eclipse.ini
-vmargs
-Xms512M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M

方法2:对应在Eclipse中的设置为:window->preferences->JAVA->installed JREs,在Default VM Arguments中增加:-Xmx512M (也可以添加其他参数如-Xms512M -XX:PermSize=64M -XX:MaxPermSize=128M)

三 生产环境解决方案
1)服务器一般设置-Xms、-Xmx相等以避免在每次GC后调整堆的大小
2)-Xmx和-XX:MaxPermSize的总和,不能大于服务器物理内存大小,而且有些内存被硬件使用,所以总和要在可分配内存范围内.
3)实际运行的结果可以通过Eclipse中help->Installation Details->Configuration里面查看Eclipse运行情况
4)visualvm
一款很好用的jvm分析工具
下载地址:https://visualvm.dev.java.net/
5)以jdk环境运行eclipse
1、在eclipse.ini中添加VM启动参数,制定eclipse启动使用的vm,修改后的文件内容如下
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
D:\Program Files (x86)\Java\jdk1.6.0_21\bin\javaw.exe

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=256M

顺序一定要对

2、创建一快捷方式,起始目标为:"D:\***\eclipse.exe" -vm "D:\Program Files (x86)\Java\jdk1.6.0_21\bin\javaw.exe".

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客