当前位置:首页 > 虚拟机 > 正文

jvm虚拟机参数图解


一、如何修改jvm启动参数使用java命令查看。
使用java-option修改参数。
还有tomcat,是在eclipse启动时通过配置文件加载的。
具体如下:
安装Java开发软件时,默认安装包含两个文件夹,一个是JDK(JavaDevelopmentToolbox),一个是JRE(JavaRuntimeEnvironment,包括JVM),其中JDK包含另一个文件夹。包含JRE。如果只运行Java程序,JRE就足够了;
1.配置JVM内存
1.配置JVM内存参数
-XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设置值应该取决于计算机物理内存大小和其他内存开销而定;
-XmsJavaHeap初始值,服务器端JVM最好将-Xms和-Xmx设置为相同的值,开发和测试JVM机器可以保持默认值;
2.如何配置JVM内存分配:
(1)在命令提示符下启动并使用JVM时(仅对运行类有效)
java-Xmx128m-Xms64m-Xmn32m-Xss16mTest
(2)在集成开发环境(如eclipse)中启动并使用JVM时:
第一种设置方法:
打开eclipse根目录下的。默认内容为(这里设置的是开发工具时的JVM内存分配):
-vmargs-Xms40m-Xmx256m-vmargs表示为虚拟机设置以下参数,参数值​​可以修改另外,非堆内存也可以在中设置,如:-XX:PermSize=56m、-XX:MaxPermSize=128m。
这里设置的参数值可以通过如下配置显示在开发工具的状态栏中:
在Eclipse根目录下创建一个文件选项文件内容为:e。ui/perf/showHeapStatus=true
修改eclipse根目录下的文件,在开头添加以下内容:
重新启动eclipse,会看到下面的状态栏有JVM信息。
第二种设置方法:
打开Eclipse-Window-Preferences-Java-InstalledJRE(对当前开发环境运行的所有java程序有效)
编辑当前使用的JRE,放入参数默认VM:-Xmx128m-Xms64m-Xmn32m-Xss16m
第三种设置方法:
打开Eclipse-Run-Run-Java应用程序(仅适用于设置为Effective的java类)
选择类独立变量需要设置内存分配,放入VM自变量:-如果设置了第一个和第三个设置,则第二个设置有效,第三个设置无效例如:
开发环境设置为:-Xmx256m,类测试环境设置为:-Xmx128m-Xms64m,然后运行测试有效设置为:
-Xmx256m-Xms64m
(3)启动时在服务器环境(如Tomcat)中使用JVM(对当前服务器环境下的所有Java程序有效):
a设置环境变量:
变量名:CATALINA_OPTS
变量值:-Xmx128m-Xms64m-Xmn32m-Xss16m
b打开Tomcat根目录下的bins文件夹,编辑,将%CATALINA_OPTS%(四位之和)替换为:-Xmx128m。-Xms64m-Xmn32m-Xss16m
2查看配置JVM内存信息
time().maxMemory();//最大可用内存,对应-值相当于使用的内存量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内存分配。