当前位置:首页 > 内存 > 正文

jvm堆内存默认大小

  • 内存
  • 2024-06-05 11:23:00
  • 9934

一、javajvm内存可以设置多少-XmxJavaHeap的最大值,默认为物理内存的1/4。最佳设置值应该取决于物理内存的大小以及计算机的其他内存负担,-Xmx设置为相同的值,开发的JVM测试机可以保持默认值;
-XmnJavaHeapYoung区域size,如果不熟悉,最好保留默认值-Xss每个线程的堆栈大小,如果不熟悉,最好保留默认值;
2
2.如何自定义JVM内存设置:
(1)启动JVM并在命令提示符下使用时(仅对当前运行的ClassTest有效):java-Xmx128m-Xms64m-Xmn32m-Xss16mTest(2)启动JVM时JVM及其在集成开发环境(如Eclipse)中的使用:
打开Eclipse根目录下的,默认内容为(这里的设置是为现有的开发工具开启JVM内存分配):-vmargs-Xms40m-Xmx256m非堆内存也可以映射为临时的,如:-XX:PermSize=56m、-XX:MaxPermSize=128m。
这里设置的参数值可以显示在状态栏中开发工具的配置可以通过如下配置:在Eclipse根目录下创建options文件,文件内容为:
二、JVM内存一般设成多大的分析了当前流行的各个公司的各个JVM版本的最大内存,结果如下:
该公司JVM版本的最大内存(单位为兆)客户端服务器的最大内存(单位为兆)
周日5。x14921520
SUN1.5.5(Linux)26342660
SUN1.4.215641564
SUN1.4.2(Linux)19001260
IBM1.4.2(Linux)2047N/A
BEAJRockit1。5(U3)19091902
除非另有说明,所有JVM版本都运行在Windows操作系统上。
我想用这个表来说明的是,如果你的系统内存太多,你只能运行一个一些事情。。使用更多实例来提供系统利用率。例如,如果您运行Tomcat,则可以安装更多Tomcat并创建集群。
堆和非堆内存根据官方的描述,“Java虚拟机有一个堆。堆是运行时数据区域,是所有类实例和数组的内存。它们都是从这里分配的。堆创建当Java虚拟机(JVM)启动时:“在JVM中,你可以看到堆之外的内存称为非堆内存。简单地说,堆是Java代码可以访问的内存,而非堆是Java代码可以访问的内存。”为JVM自己使用而保留的内存(例如方法区域和JIT编译的代码缓存)、所有类结构(例如运行时常量池、字段和方法数据)以及方法和构造函数的代码都在off-中。JVM分配堆内存的初始内存由-Xms指定,JVM分配的最大内存由-Xmx指定,默认为可用堆内存的1/4。将堆设置为-Xmx如果可用堆内存超过70%,JVM会将堆收缩到-Xms的最小限制。设置Xms和-Xmx相等JVM使用-XX:PermSize设置XX:MaxPermSize的初始值。堆内存的默认值是物理内存的1/4首先,JVM内存限制为实际最大物理内存。哈哈)。假设物理内存是无限的,JVM内存的最大值很大程度上与操作系统有关。。简单来说,32位处理器拥有4GB的可控内存空间,但在某些操作系统上通常限制在2GB到3GB(Windows系统上通常为1.5G到2G,1.5G)。Linux系统上的G-2G)。2G-3G),并且对64位或更高版本的处理器没有限制。
所以,由于VM参数设置导致程序无法启动的主要原因有:
1)如果参数的-Xms值大于-Xmx或-XX值大于:PermSize大于-XX:MaxPermSize。2)-Xmx和-XX:MaxPermSize值之和超过了JVM内存的最大限制,要么是当前操作系统的最大内存限制,要么是实际物理内存。。