一 基本说明
在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".
- 浏览: 178368 次
- 性别:
- 来自: 北京
最新评论
-
ls0609:
语音实现在线听书http://blog.csdn.net/ls ...
ANDROID语音识别示例 -
AILIKES:
1927105 写道示例中219应该才是虚拟IP多谢指正,21 ...
虚拟IP原理 -
gaoke:
1927105 写道示例中219应该才是虚拟IP是的
虚拟IP原理 -
lubacui:
我居然看完了,貌似有些道理。
如何掌控自己的时间,并改变现状? -
1927105:
示例中219应该才是虚拟IP
虚拟IP原理
相关推荐
Eclipse的内存优化与内存不足问题 解决内存溢出的办法
设置完毕后 有效解决卡顿、降低占用内存
这是本人在项目开发中收集的两篇eclipse性能优化的文章,并且把里面的内容进行了实践检验,对我来说非常管用,从此eclipse经常卡死的头疼问题解决了,感觉很流畅,我开发用的是eclipse3.5,其他的未测试。
凡是搞研发的都知道,像eclipse,oracle这样的工具用的时间长了内存占用很大,而这款内存优化工具就是用来优化这种内存占用问题的,我强烈推荐给大家。
在2015年EclipseCon上,Zero Turnaround(消除Java...从Eclipse Marketplace下载安装后,Eclipse优化器会通过一系列的向导步骤询问用户是否调整JVM启动参数中的内存设置和其他性能标志,从而大大提升应用的启动速度。
众所周知,eclipse有bug,不使用优化启动的话经常会耗尽内存自动退出。 <br>优化的方法有建立快捷方式然后跟参数-vmargs -Xms128m -Xmx512m -XX:PermSize=128m -XX:PermSize=256m,比较麻烦。所以用现成的配置好...
│ │ 深入理解Java内存模型.pdf │ │ │ └─课后资料 │ ├─笔记 │ │ 淘淘商城_day20_课堂笔记.docx │ │ │ └─视频 │ 07-使用Jedis连接集群操作.avi │ 00-今日大纲.avi │ 01-RDB持久化方式.avi │ 02...
参数中-vmargs的意思是设置JVM...非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。
重构到ec 该项目包含将Java流重构为惯用的Eclipse集合的示例。... 在本节中,您将观看将标准Java代码重构为Eclipse Collections数据结构和API的实时编码演示,并了解可以实现的部分内存节省。 您还将看
不过项目是使用android studio开发的工程,eclipse需要自己转工程才可以导入。实现的功能有:基本功能、内存加速、缓存清理、自启管理、软件管理、设备信息等。项目用到的开源项目有:Open source projects、...
Myeclipse6.5优化技巧 第一步: 取消自动validation 第二步:取消Eclipse拼写检查 第三步:取消myeclipse的启动项 第四步:更改jsp默认打开的方式 第五步:加大JVM的非堆内存 第六步:关闭updating indexex myeclipse...
8 修改MyEclipse安装目录的eclipse.ini文件,加大JVM的非堆内存 具体内容如下: -clean -showsplash com.genuitec.myeclipse.product.ide --launcher.XXMaxPermSize 256m -vmargs -Xms128m -Xmx512m -...
cplus-libparser C / C ++中用于元数据提取(有关类,... 该代码已经过优化,以使用最少的Eclipse依赖关系。 提示:您可以使用项目查看源代码结构的TreeView代码,以用于调试目的感谢所有报告错误和建议修复的人。图表
使用POSIX线程实现多线程应用● 使用POSIX套接字实现网络应用● 使用logging、GDB和Eclipse调试器进行调试● 使用Valgrind分析内存● 使用GProf 测试应用性能● 使用NEON/SIMD优化代码● 使用Eclipse IDE开发原生...
全书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、...
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目:是; 技术栈 1. 后端:SpringBoot+Mybatis 2. 前端:HTML+CSS+Bootstrap+jQuery 使用说明 1. 使用Navicat...
应用程序框架 支持组件的重用与替换 Dalvik 虚拟机 专为移动设备优化 集成的浏览器 基于开源的WebKit 引擎 ...丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件
• 应用程序框架 支持组件的重用与替换 • Dalvik 虚拟机 专为移动设备优化 • 集成的浏览器 基于开源的WebKit 引擎 ...• 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件
教程的内容包括: 应用程序框架:支持组件的重用与替换 Dalvik 虚拟机:专门为移动设备做了优化 ...丰富的开发环境:包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成 开发环境插件。