java中怎样设置虚拟机的内存大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎样设置虚拟机的内存大小相关的知识,希望对你有一定的参考价值。
如果你的程序是可运行的jar包的话,可以使用:java -server -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0 myJarName.jar
如果是tomcat的话:
修改TOMCAT_HOME/bin/catalina.sh
位置cygwin=false前。
JAVA_OPTS=" -server -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0"
下面是参数说明:
-Xmx5g:设置JVM最大可用内存为5G。
-Xms5g:设置JVM初始内存为5G。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn2g:设置年轻代大小为2G。整个堆内存大小 = 年轻代大小 + 年老代大小 + 持久代大小 。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-XX:+UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用。JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
-XX:ParallelGCThreads=8:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。
-XX:SurvivorRatio=6:设置年轻代中Eden区与Survivor区的大小比值。根据经验设置为6,则两个Survivor区与一个Eden区的比值为2:6,一个Survivor区占整个年轻代的1/8。
-XX:MaxTenuringThreshold=30: 设置垃圾最大年龄(次数)。如果设置为0的话,则年轻代对象不经过Survivor区直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值 设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概率。设置为30表示 一个对象如果在Survivor空间移动30次还没有被回收就放入年老代。
-XX:+UseConcMarkSweepGC:设置年老代为并发收集。测试配置这个参数以后,参数-XX:NewRatio=4就失效了,所以,此时年轻代大小最好用-Xmn设置,因此这个参数不建议使用。 参考技术A 这个 在 IDE里面设置. 比如Eclipse安装目录中有一个格式好像是ini还是什么的东西. 用txt打开有一个参数改一下就行了
如何优化VMWare虚拟机的运行速度?
机器配置为普通双核PC,内存稍微加大到4G+
虚拟机的运行速度是建立在电脑的配置的基础上的。在确保配置足够时,优化虚拟机的方法如下。
1,找到要优化的虚拟机,右键点击。
2,点击之后,在弹出的菜单中选择“设置”。
3,在设置窗口中,首先点击左侧的“内存”。
4,进入内存设置后,根据自身电脑实际情况,和虚拟机的系统版本,适当的加大内存大小。
5,调整完内存之后,再点击左侧的“处理器”。
6,在处理器设置中,根据实际情况,适当的给予更多的处理器数量。
7,设置完毕后,重新启动虚拟机,即可优化其运行速度了。
参考技术A1、点击虚拟机系统菜单上的红色关机按钮。
2、然后点击选择关机。
3、然后接着点击这个内存这里。
4、将原来的内存设置为这个1g,然后点击确定。通常设置为1g即可。以8g内存为例子,16g的电脑可以设置为2g,否则实体机很卡。
5、然后点击处理器这里,看到处理器数量核心数是否为1,不是则设置为1,接着点击应用。
6、最后我们点击按钮,运行电脑上的系统即可,此刻电脑将不会那么卡了。
7、然后就完成了。
参考技术B 楼主的情况貌似是当前大多数跑VMWare虚拟机的朋友的配置吧。按我的经验,简单点,2招就可以让虚拟机跑系统的速度接近实体机速度。
(除了跑对显卡硬件有要求的软件)
绝招1:编辑对应的VMWare虚拟机镜像后缀为 VMX 的文件(用记事本就能编辑),添加一行参数:mainMem.useNamedFile = "FALSE" 没此参数前虚拟机运行时会在本机产生的后缀为VMEM的文件。虚拟机上的内存读写 = 本机VMEM文件的读写,那要虚拟机速度快当然就困难啦。但有得必有失——加上这个参数后暂停虚拟机速度就慢很多,突然断电就更难保证数据的完整性咯。
绝招2:事先声明,这个设置需要本机的内存足够大,否则可能适得其反,普通机器用默认参数就可以了。
虚拟机上的 Edit(编辑)——preferences(偏好设定)——Memory(内存),默认是:Allow some virtual machine memory to be swapped(允许虚拟机上的内存部分写入本机的页面文件),改为:Fit all virtual machine memory into reserved host RAM(将所有虚拟机内存都写到本机内存)。本回答被提问者采纳 参考技术C 虚拟机的速度跟很多原因有关,比如:
主机本身的硬件配置;
虚拟化技术硬件加速是否开启;
Vmware的设置是否正确;
是否开启了不必要的资源?
硬盘速度,碎片问题?等等
更多更具体可参考这里:14个角度分析 vmware虚拟机运行速度卡慢原因分析及解决办法大全(二) - https://blog.csdn.net/davidhzq/article/details/102532875 参考技术D 优化VMWare虚拟机的运行速度方法如下:
下载VMware8.0。
打开VMware8.0选择要优化的虚拟机,点击“编辑虚拟机的配置”。
在虚拟机配置中,可以将不必要的设备给删除,比如软盘驱动器,虚拟打印机。点击选中相应的设备之后,再点下面的“移除”即可。
然后选中硬盘,点击右边的“实用程序”,选择“碎片整理”。
之后虚拟机便开始虚拟硬盘的整理,这对读写操作的性能提升是有帮助的。等待整理完成出现下面的的提示。
虚拟机外部配置的优化就此完成了。
以上是关于java中怎样设置虚拟机的内存大小的主要内容,如果未能解决你的问题,请参考以下文章