java安装目录里有没有能修改JVM分配内存的地方
发布网友
发布时间:2022-04-23 11:41
我来回答
共3个回答
热心网友
时间:2023-10-15 00:52
用java命令查看。
用java -option进行修改参数。
还有tomcat,eclipse启动时通过配置文件加载的。
详细如下:
安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JRE。如果只是运行Java程序,则JRE已足够;而JDK则只有开发人员才用到。
一、配置JVM内存
1.配置JVM内存的参数
-XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-XmsJavaHeap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
2.如何配置JVM内存分配:
(1)当在命令提示符下启动并使用JVM时(只对当前运行的类生效)
java-Xmx128m-Xms64m-Xmn32m-Xss16mTest
(2)当在集成开发环境下(如eclipse)启动并使用JVM时:
第一种设置方法:
在eclipse根目录下打开eclipse.ini,默认内容为(这里设置的是运行当前开发工具的JVM内存分配):
-vmargs-Xms40m-Xmx256m-vmargs表示以下为虚拟机设置参数,可修改其中的参数值,,另外,eclipse.ini内还可以设置非堆内存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。
此处设置的参数值可以通过以下配置在开发工具的状态栏显示:
在eclipse根目录下创建文件options,文件内容为:org.eclipse.ui/perf/showHeapStatus=true
修改eclipse根目录下的eclipse.ini文件,在开头处添加如下内容:
-debugoptions-vmjavaw.exe重新启动eclipse,就可以看到下方状态条多了JVM信息。
第二种设置方法:
打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效)
编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m-Xms64m-Xmn32m-Xss16m
第三种设置方法:
打开eclipse-运行-运行-Java应用程序(只对所设置的java类生效)
选定需设置内存分配的类-自变量,在VM自变量中输入:-Xmx128m-Xms64m-Xmn32m-Xss16m
注:如果在同一开发环境中同时进行了第二种和第三种设置,则第二种设置生效,第三种设置无效,如:
开发环境的设置为:-Xmx256m,而类Test的设置为:-Xmx128m-Xms64m,则运行Test时生效的设置为:
-Xmx256m-Xms64m
(3)当在服务器环境下(如Tomcat)启动并使用JVM时(对当前服务器环境下所以Java程序生效):
a.设置环境变量:
变量名:CATALINA_OPTS
变量值:-Xmx128m-Xms64m-Xmn32m-Xss16m
b.打开Tomcat根目录下的bin文件夹,编辑catalina.bat,将其中的%CATALINA_OPTS%(共有四处)替换为:-Xmx128m-Xms64m-Xmn32m-Xss16m
二、查看配置JVM内存信息
Runtime.getRuntime().maxMemory();//最大可用内存,对应-Xmx
Runtime.getRuntime().freeMemory();//当前JVM空闲内存
Runtime.getRuntime().totalMemory();//当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和
关于maxMemory(),freeMemory()和totalMemory():
maxMemory()为JVM的最大可用内存,可通过-Xmx设置,默认值为物理内存的1/4,设值不能高于计算机物理内存;
totalMemory()为当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和,会随着JVM使用内存的增加而增加;
freeMemory()为当前JVM空闲内存,因为JVM只有在需要内存时才占用物理内存使用,所以freeMemory()的值一般情况下都很小,而JVM实际可用内存并不等于freeMemory(),而应该等于maxMemory()-totalMemory()+freeMemory()。及其配置JVM内存分配。
热心网友
时间:2023-10-15 00:53
你可以用java -x命令查看配置。
也可以用java -option进行修改参数。
大部分时候参数是通过配置文件加载的。
例如tomcat,eclipse启动等。追问现在在命令行里只要输入带有java的,都出现这个提示
Error occurred ring initialization of VM
Could not reserve enough space for object heap
很无奈。
等待答案。
热心网友
时间:2023-10-15 00:53
参考哈
如何设置Tomcat的JVM虚拟机内存大小
1、Tomcat作为应用服务器,不能直接运行,需要相应的硬件和操作系统的支持,,需要java虚拟机环境。也就是说tomcat启动的时候 ,JVM会分配一个初始内存以及最大内存给 tomcat,所以要提高tomcat的jvm内存,需要在启动的时候,进行配置。2、找到tomcat在本地电脑中的安装目录,进入这个目录,然后进入bin目录中...
Java heap space 的具体解决方法
Java heap space溢出的问题通常源于程序内部的错误,比如死循环或递归调用没有恰当的终止条件。解决这个问题的第一步是对代码进行彻底检查。如果你的程序在运行过程中遇到此异常,首先要排查代码逻辑。对于调整JVM堆空间,通常的解决办法是增大堆内存。你可以通过修改eclipse.ini文件来实现全局设置,具体操作如...
java.lang.OutOfMemoryError: Java heap space
回答:JVM内存的设置 一、JVM内存的设置的原理 默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。 设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。 java -Xms64m -Xmx256m Test -Xms是设置内存初始化的大小 -Xmx是设置...
java怎么下载安装?
直接安装就可以使用了,希望对你有用。第二种方法(手动配置):windowsxp下配置JDK环境变量:1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;2.安装完成后,右击“我的电脑”,点击“属性”;3.选择“高级”选项卡,点击“环境变量”;4.在“系统变量敏悉”中,设置3项属...
java服务申请内存不足
服务器上物理内存太小,大部分都是应为程序太多,内存吃紧,而给jvm分配的内存太大,导致java的内存不够,(java程序启动需要的内存,linux不能给),最好调整java程序jvm内存吧(测试环境下)。
什么软件可以理解Java的编程?
JAVA_HOME=C:\j2sdk1.4.2 CATALINA_HOME=D:\tomcat4(你的Tomcat安装目录) 这样就安装好了,启动Tomcat运行CATALINA_HOME\bin\startup.bat,关闭Tomcat运行shutdown.bat脚本。Tomcat启动以后,默认使用8080端口,因此可以用浏览器访问来测试Tomcat是否正常启动。 Tomcat提供了两个Web界面的管理工具,URL分别是: ; ; 在启...
jdk和jre有什么区别?
JVM:java Virtual Machine java 虚拟机 jdk 是给开发人员使用的, jre和jvm是给普通用户使用,如果只是运行Java程序,安装JRE即可 JDK:是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里面就是jvm,...
在cmd里运行java总是去一个没有的地方找jvm.cfg 我没有这个路径地址 已 ...
删除Windows/System32/java.exe即可
如何安装配置JAVA环境变量
假设你已经在安装了Java在 c:Program Filesjavajdk 目录:在“我的电脑”右键单击并选择“属性”。在“高级”选项卡下单击“环境变量”按钮。现在,改变“Path”变量,以便它也包含路径到Java可执行文件。例如,如果路径当前被设置为 'C:WINDOWSSYSTEM32', 修改后为: 'C:WINDOWSSYSTEM32;c:Program ...
编程语言java怎么运行?
Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。 如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cantfindsymbol”的错误。 第二步(运行):java类运行的过程大概可分为两个过程:1...