加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash builder内存优化及解决FB挂机

发布时间:2020-12-15 07:00:29 所属栏目:百科 来源:网络整理
导读:首先来说明各个参数的含义 参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数

首先来说明各个参数的含义

参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。

堆(Heap)和非堆(Non-heap)内存

按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。

堆内存分配

JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。

非堆内存分配

JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。

JVM内存限制(最大值)

首先JVM内存限制于实际的最大物理内存(废话!呵呵),假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。


方法一?

Flash Builder 4.6 ?的初始化jvm参数来提高可用内存,并且发现性能得到了显著的提高。点击FB4.6的启动文件,选择?
???????? 修改.ini配置文件参数,


  • -nl
  • en_US
  • -startup
  • ../../../eclipse/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
  • --launcher.library
  • ../../../eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.1.R36x_v20100810
  • --launcher.defaultAction
  • openFile
  • -showsplash
  • -vmargs
  • -Xms512m
  • -Xmx1024m
  • -XX:MaxPermSize=512m
  • -XX:PermSize=128m
  • -Xdock:name=Flash Builder
  • -Xdock:icon=../Resources/fb_app.icns
  • -XstartOnFirstThread
  • -Dorg.eclipse.swt.internal.carbon.smallFonts
  • -Declipse.product=com.adobe.flexbuilder.standalone.producte36
  • -Declipse.application=com.adobe.flexbuilder.standalone.FlashBuilderApplication
  • 只需更改相应的参数(根据自己的内存相应分配)

重启之后就可以体验到效果了。

方法二

Flash builder 4内存优化之java heap space解决办法

Flash Build 4编译慢、报java heap space 堆空间异常错误的解决方法:

1、
在安装路径下找到FlexBuilder.ini文件,进行编辑,加入如下参数

-vmargs


-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
-XX:PermSize=64m ???#不要设置太高,否则会更加慢
-Djava.net.preferIPv4Stack=true

以上几条经验可以明显加快编译速度数倍,第3条可以明显减低FB挂掉的几率。

2、由于Flex Builder compiler shell有memory leak的问题, 而SDK默认的的 JVM heap size 只有312M,当compile比较大的project容易不够,所以只要修改SDK的JVM参数就可以。

编辑 {Flex SDK}安装路径/bin/jvm.config 文件如下。


java.args=-Xmx512m -Dsun.io.useCanonCaches=false

如果还是有Error,可以增加到1024或者更多。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读