`

java JVM虚拟机选项: Xms Xmx PermSize MaxPermSize 详解

 
阅读更多
java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。

举例说明含义:
-Xms128m
表示JVM Heap(堆内存)最小尺寸128MB,初始分配
-Xmx512m
表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。

说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。

PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。

-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
过小会导致:java.lang.OutOfMemoryError: PermGen space

MaxPermSize缺省值和-server -client选项相关。
-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m


经验:
1、慎用最小限制选项Xms,PermSize已节约系统资源。

转载
分享到:
评论

相关推荐

    认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别

    Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 区别 Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 是 Java 虚拟机(JVM)中用于配置内存管理的参数。这些参数控制着 JVM 中的堆内存和非堆内存的分配。 ...

    JVM调优总结 Xms -Xmx -Xmn -Xss

    在Java虚拟机(JVM)的运行过程中,合理的参数配置对于提高程序性能至关重要。本文将对JVM调优中的几个关键参数进行深入解析,包括-Xms、-Xmx、-Xmn和-Xss等,帮助开发者更好地理解这些参数的作用及如何合理设置。 ...

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    ### Java虚拟机(JVM)内存设置与调优详解 #### 引言 在现代软件开发中,Java虚拟机(JVM)作为执行Java字节码的核心组件,其性能直接影响到Java应用的运行效率与稳定性。特别是在大数据处理场景下,合理设置JVM内存...

    JVM内存配置优化

    在进行JVM内存配置优化之前,我们需要了解Java虚拟机(JVM)的内存结构。Java的逻辑内存模型大致分为几个部分: 1. **堆内存(Heap)**:主要用于存储对象实例、数组等引用类型的数据。在Java中使用`new`关键字创建的...

    MyEclipse修改jvm内存.docx

    set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m ``` 这些参数的含义分别是: * -Xms1024m:设置jvm虚拟机的初始堆大小为1024m。 * -Xmx1024m:设置jvm虚拟机的最大堆大小为1024m。 * ...

    jvm虚拟机学习资料.zip

    JVM的配置参数对于调整性能至关重要,如-Xms、-Xmx用于设置堆内存大小,-XX:PermSize、-XX:MaxPermSize设定方法区大小,-XX:+UseConcMarkSweepGC选择垃圾收集器等。了解这些参数能帮助开发者优化JVM的运行环境。 4...

    JVM虚拟机面试题汇总

    ### JVM虚拟机面试题知识点详解 #### 一、JVM运行时内存结构 JVM运行时数据区(Runtime Data Area)主要包括以下几部分: 1. **程序计数器(Program Counter Register)**:是一块较小的内存空间,当前线程所执行的...

    jvm虚拟机原理,愿和大家一起学习java

    2. 虚拟机调优:了解JVM参数,如-Xms, -Xmx用于设置堆大小,-XX:PermSize, -XX:MaxPermSize设定方法区大小,以及如何根据应用特性调整这些参数以优化性能。 3. 类加载机制:研究类的生命周期,理解加载、验证、准备...

    修改JVM内存

    在`JAVA Options`文本域中新增内存设置,如`-Xms512m -Xmx1536m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m`,同时更新`Initial Memory Pool`和`Maximum Memory Pool`的值。...

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    Java虚拟机调优及问题排查手册.docx

    本手册主要介绍Java虚拟机(JVM)的调优和问题排查解决方案。该手册涵盖了JVM排查、数据库连接排查、堆栈快照排查等多方面的内容。 JVM排查 JVM排查是指通过各种命令和工具来排查JVM的状态和性能问题。常用的命令...

    Java虚拟机JVM参数配置说明.pdf

    ### Java虚拟机(JVM)参数配置详解 #### 引言 在Java及J2EE大型应用的场景下,Java虚拟机(JVM)非标准参数的合理配置对于提升系统的整体性能至关重要。这些参数不仅影响着应用的运行效率,还直接关联到系统的稳定性...

    Java内存溢出的详细解决方案

    * 设置 PermSize 和 MaxPermSize:可以使用 JVM 选项 -XX:PermSize 和 -XX:MaxPermSize 来设置 PermGen space 的大小。 * 减少Class数量:在应用中尽量减少Class的数量,避免使用大量的第三方 jar 文件。 * 使用 ...

    JVM内存参数详解以及配置调优

    JVM 内存参数是 Java 虚拟机中最重要的参数之一,它直接影响着 Java 应用程序的性能和稳定性。在这个资源中,我们将详细讨论 JVM 内存参数的配置和调优,包括 JVM 的结构、内存管理、垃圾回收、堆和非堆内存、内存...

    JVM内存设置方法.docx

    * -Xmx:Java Heap 最大值 * -Xms:Java Heap 初始值 * -Xmn:Java Heap Young 区大小 这些参数的默认值可以根据物理内存大小及计算机内其他内存开销而定。 二、 设置 JVM 内存的方法 1. 在命令提示符下启动并...

    myeclipsejava虚拟机jvm参数设置

    这种情况下,JVM(Java虚拟机)的内存配置和性能调优显得至关重要。 首先,当MyEclipse提示内存不足时,会建议你增加虚拟机的内存参数。推荐的内存参数包括`-Xmx512m`,用于设定堆内存的最大值为512MB,`-XX:...

    could not create the java virtual machine 解决办法

    下面将详细介绍这一问题的原因、解决方法以及如何调整Java虚拟机(JVM)的参数来避免此类错误的发生。 #### 错误原因 这个错误主要是由于JVM无法正确初始化或分配内存空间所导致的。具体来说,可能的原因包括但不...

    记录java.lang.OutOfMemoryErrorJava heap space的情况.docx

    Java虚拟机(JVM)是Java应用程序的运行环境,它负责执行字节码并管理内存。在Java程序中,`java.lang.OutOfMemoryError: Java heap space` 是一个常见的错误,意味着程序在运行过程中耗尽了JVM分配的堆内存。这个...

    Java虚拟机_JVM_参数配置

    Java虚拟机(JVM)是Java程序运行的基础,它提供了执行字节码的环境,使得Java具有跨平台的能力。在Java开发中,正确地配置JVM参数对于优化应用程序性能、控制内存消耗以及解决堆栈溢出等问题至关重要。本文将深入...

Global site tag (gtag.js) - Google Analytics