Eclips、STS运行内存修改

	eclipse安装目录下你应该可以看到有一个 eclipse.ini 文件,里面的内容是:
	-product
		org.eclipse.epp.package.jee.product
	--launcher.defaultAction
		openFile
	--launcher.XXMaxPermSize
		256M
	-showsplash
		org.eclipse.platform
	--launcher.defaultAction
		openFile
	-vmargs
		-Dosgi.requiredJavaVersion=1.5
		-Xverify:none
		-Xms 1024m
		-Xmx 4096m

		-XX:PermSize=1024m
		-XX:MaxPermSize=1024mm
		-XX:+DisableExplicitGc
    -Xnoclassgc
		-XX:+UseParNewGc
		-XX:+UseConcMarkSweepGc
		-XX:CMSInitiatingOccupancyFraction=80
		-XX:CompileThreshold=100

-vmargs:说明后面是VM的参数

-Xms64m :虚拟机占用系统的最小内存

-Xmx128m:虚拟机占用系统的最大内存

-XX:PermSize:最小堆大小。一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,视自己机器内存大小来设置

-XX:MaxPermSize:最大堆大小。这个也适当大些

-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M

一般分配规则:

-Xms 表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。有可能真的按照这样的一个规则分配时,设计出的软件还没有能够运行得起来就挂了

-Xmx 表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程 中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。

-XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)

-XX:MaxPermSize:表示对非堆区分配的内存的最大上限。

-XX:PermSize(Eclipse 4.4.2没有)和-XX:MaxPermSize如果设置为相同还可以在一定程度上提高性能,因为,PermSize在不断的变化中会需要转移其中的数据。如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。

这里面非常要注意的一点是:在配置之前一定要慎重的考虑一下自身软件所需要的非堆区内存大小,因为此处内存是不会被java垃圾回收机制进行处理的地方。并且更加要注意的是 最大堆内存与最大非堆内存的和绝对不能够超出操作系统的可用内存。

更深入的Eclipse性能调优,参考链接文章,点我即可跳转

你可能感兴趣的:(开发工具)