问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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...

java方法内存分配 java 内存分配 java类如何分配内存 java基本类型内存分配 java对象内存分配 java内存分配图 java分配内存空间 java数组内存分配 java查看堆内存分配
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁帮忙翻译一下,特急 腾讯信用分数是怎么来的 会声会影12中,我在最后插入了MOV的视频后,视频没有声音,分离音频... 腾讯信用分具体怎么评估? 我这边也遇到你一样的问题,会声会影分离音频导出来就没有声音了,你说... 腾讯信用分跟什么有关 腾讯信用分全面开放时间及隐私问题如何回应? 腾讯信用分何时能全面开放? ...是价值工程活动的中心环节,按功能的性质分类,可将功能分为... ...自己家的win8笔记本突然找不到自己家的wifi了 上次关机前还可以的... jvm的内存模型?怎么栈溢出,堆溢出?gc?真的用到过没 Java构造函数(方法)存储在jvm哪个内存里? 操作系统为JVM进程分配的内存区域由谁管理? jvm中堆内存分为哪几块 电脑运行java程序,如何分配过多的jvm内存 java代码运行的时候将内存分成哪些区? 如何设置jvm内存 Java把内存划分为4个部分 1. 代码区 1、栈区 3、堆区 4、静态区域 java jvm 的内存到底是什么分配的,看得有点糊涂。 JVM 内存分哪⼏个区,每个区的作⽤是什么 28岁自己生日如何发朋友圈 怎么暗示今天是自己生日? 自己生日发朋友圈怎样表达? 怎么委婉的发朋友圈说今天是自己生日? 怎么向别人暗示自己生日是今天? 怎么暗示自己生日是今天? 如何优雅地向别人表达今天是我的生日? 幼儿园说课要ppt吗 自己的生日在朋友圈怎么表达? 如何隐晦发朋友圈说今天自己生日 jvm 一次读取一个大对象放在什么区 JVM管理内存空间堆和栈的区别 空调室外机漏水什么原因? 空调外机滴水是什么原因? 绑定支付宝,淘宝账户的手机号码如何解绑? 淘宝号忘记了支付宝绑定的淘宝号怎么解绑手机 淘宝支付宝绑定手机号怎么解绑? 淘宝的支付宝与手机绑定后,号码被销号,怎么改号码或者解绑? 手机淘宝和支付宝号与电话号绑在一起了,怎样解绑? 手机淘宝支付宝怎么把原来的绑定的号码取消 支付宝能解绑手机号吗?(解绑之后能放在淘宝号上吗,)能怎么解绑 淘宝的绑定手机号和支付宝本身的网银的手机号不同,如何解绑? 换了手机号码后,我曾经的手机号码绑定的淘宝和支付宝还能更换绑定的手机号码吗? 请问支付宝账号可以同时更换绑定的手机号和淘宝账号吗? ftp p2p 服务器管理软件 舍利是怎么形成的,有什么类型 舍利是怎么形成的? 舍利是怎么形成的 ? 请问那些佛教高僧的舍利子是什么东西,由什么组成的? 微信的来源显示通过通讯录添加,但是我没有他的好友是怎么回事