`

JVM 内存参数设置

    博客分类:
  • Java
阅读更多

出处:http://blog.csdn.net/tiercel2008/article/details/6956816

 

一、本地环境中JVM参数设置:

    在本地环境变量中New一个JAVA_OPTS变量名:

    variable name: JAVA_OPTS

    variable value:  -Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M

二、eclipse中JVM参数设置:

    打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效,也就是在eclipse中运行的java程序)编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m

三、Tomcat服务器中JVM参数设置:

    Tomcat默认可以使用的内存为128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS=’-Xms[初始化内存大小] -Xmx[可以使用的最大内存]’例如:
    set JAVA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m 或者
    set CATALINA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m 

四、Weblogic服务器中JVM参数设置:

    a) 编辑Weblogic Server启动脚本文件;
        BEA_HOME\user_projects\domains\domain-name\startWebLogic.cmd(startWebLogic.sh on Unix)
        BEA_HOME\user_projects\domains\domain-name\startManagedWebLogic.cmd(startManagedWebLogic.sh on Unix) –这个是做集群的时候用的
    b) 编辑set JAVA_OPTIONS命令,如:set JAVA_OPTIONS=-Xms256m –Xmx256m;
       (在UNIX下把MEM_ARGS=”-Xms1024m -Xmx1024m -Xmn128m”加到上述两个.sh文件中即可)
    c) 保存,重启即可。
    注:在WebLogic中,为了获得更好的性能,BEA公司推荐最小Java堆等于最大Java堆。

五、Websphere服务器中JVM参数设置:

    选择 服务器-> 应用程序服务器-> Server1-> 进程定义->Java 虚拟机。
滚动到初始堆大小和最大堆大小字段并设置值。单击确定以保存更改。

六、JBoss服务器中JVM参数设置:

    编辑{jboss}/bin/run.conf,  在文件的底部找到对参数JAVA_OPTS进行设置的地方。这个参数会最后传到jvm里

七、JVM内存分类:

    java内存可以分为堆内存和非堆内存:
    堆是给开发人员用的,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类型(类和接口)的信息。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了就会导致这块内存的占用过多造成溢出,或者服务器如tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多,热部署上几次就java.lang.OutOfMemoryError: PermGen space。
    a) 堆内存设置:程序可以到达的,可以操作的
       -Xms 初始堆内存 默认物理内存1/64,也是最小分配堆内存。当空余堆内存小于40%时,会增加到-Xms的最大限制 
       -Xmx 最大堆内存分配 默认物理内存1/4,当空余堆内存大于70%时,会减小到-Xms的最小限制。
       一般设置 -Xms和Xms大小相等
     b) 非堆内存设置
      -XX:PermSize 非堆内存的初始值,默认物理内存的1/64 ,也是最小非堆内存。
      -XX:MaxPermSize 非堆内存最大值,默认物理内存的1/4。

八、查看堆大小信息:

    a) 在程序中查看,返回值单位是字节,当然还有其他JVM参数可以查看。
         Runtime.getRuntime().maxMemory(); 
    b) 在命令行执行 jvisualvm 命令 或者 在命令行执行jconsole 命令。

分享到:
评论

相关推荐

    JVM内存模型深度剖析与优化.pdf

    二、JVM内存参数设置 JVM内存参数的设置对Java应用程序的性能有着至关重要的影响。以下是一些常见的JVM内存参数: 1. -Xms:设置初始堆大小。 2. -Xmx:设置最大堆大小。 3. -Xmn:设置新生代大小。 4. -Xss:设置...

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

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

    02-VIP-JVM内存模型深度剖析(1)1

    2. JVM内存参数设置: - `-Xms` 和 `-Xmx` 分别代表初始堆内存和最大堆内存大小,例如 `-Xms2048M -Xmx2048M` 指定堆内存为2GB。 - `-Xmn` 设置新生代的大小,如 `-Xmn1024M` 表示新生代为1GB。 - `-Xss` 设置每...

    JVM内存溢出问题解析

    二是物理解决,增大物理内存,然后通过调整 JVM 的参数来调整内存的大小。 JVM 内存溢出类型有两种:java.lang.OutOfMemoryError: PermGen space 和 java.lang.OutOfMemoryError: Java heap space。PermGen space ...

    jvm内存参数调优

    ### JVM内存参数调优详解 #### 一、概述 Java虚拟机(JVM)是执行Java字节码的软件环境,为了提高Java程序的性能和稳定性,合理调整JVM的内存参数至关重要。根据Java启动参数的不同分类,我们可以将其分为标准参数...

    开发测试环境Docker及JVM内存限制部署方案

    该文档描述了开发测试环境中Docker及JVM内存限制部署方案

    02-VIP-JVM内存模型深度剖析(预习)1

    二、JVM内存参数设置 在Spring Boot程序中,JVM参数通常在启动脚本中设置,例如`catalina.sh`。以下是一个示例: ``` java -Xms2048M -Xmx2048M -Xmn1024M -Xss512K -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=...

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

    在调整 Tomcat 的内存设置之前,我们需要了解一些基本的 JVM 内存参数: 1. **`-Xms`**:设置 JVM 启动时的初始堆内存大小。 2. **`-Xmx`**:设置 JVM 运行时的最大堆内存大小。 3. **`-Xmn`**:设置年轻代 (Young ...

    JVM内存参数调优

    本文将深入探讨JVM内存参数调优的相关知识点,帮助开发者更好地理解并掌握如何优化JVM的内存设置。 #### JVM内存概述 JVM内存主要分为以下几个部分: 1. **堆内存(Heap Memory)**:用于存储对象实例、数组等...

    JVM内存空间分配笔记

    - 合理设置JVM参数,如-Xms、-Xmx等。 - 适时使用软引用、弱引用等减少内存消耗。 - 对于大对象,考虑使用对象池技术复用。 #### 八、Java性能监控与调优 Java性能监控是评估和提高Java应用程序性能的重要工具...

    JVM内存配置优化

    ### JVM内存配置优化 #### 一、理解JVM内存模型 在进行JVM内存配置优化之前,我们需要了解Java虚拟机(JVM)的内存结构。Java的逻辑内存模型大致分为几个部分: 1. **堆内存(Heap)**:主要用于存储对象实例、数组...

    堆内存及JVM内存设置参数 小笔记

    本文档涉及Java虚拟机(JVM)的堆内存分配和管理,以及相关的JVM内存设置参数。堆内存是Java中用于存储对象实例的区域,它在JVM内存模型中占据核心位置。在深入理解堆内存结构及其设置参数之前,我们需要明确几个...

    设置Eclipse内存参数

    #### 三、调试模式下JVM内存参数设置 在进行调试时,可能还需要单独设置调试模式下的JVM内存参数: **步骤1:** 打开Eclipse,选择`Run > Debug Configurations`。 **步骤2:** 在弹出的窗口中,选择需要调试的...

    idea插件JVM内存工具JProfiler11

    5. **JVM配置调整**:JProfiler11还可以提供JVM参数建议,帮助开发者正确设置JVM初始堆大小、最大堆大小、内存池等关键参数,确保应用程序稳定运行。 在实际使用中,JProfiler11的详细报告和可视化界面使得问题定位...

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

    特别是在大数据处理场景下,合理设置JVM内存参数显得尤为重要。本文将深入探讨JVM内存管理的基础概念、内存设置方法及其调优策略,以帮助开发者避免常见的`java.lang.OutOfMemoryError`异常,提升应用性能。 #### ...

    MyEclipse修改jvm内存.docx

    MyEclipse修改jvm内存配置 MyEclipse是一款功能强大且广泛应用于企业级应用开发的集成开发环境(IDE)。在开发过程中,jvm虚拟机的内存配置直接影响着开发的效率和稳定性。如果jvm虚拟机的内存配置不当,可能会导致...

    JVM内存设置方法.docx

    JVM内存设置方法 JVM(Java Virtual Machine)是 Java 程序的运行环境,为了提高 Java 程序的性能,需要合理地设置 JVM 的内存分配。下面将详细介绍 JVM 内存设置的方法。 一、 JVM 内存设置参数 JVM 内存设置...

Global site tag (gtag.js) - Google Analytics