`
bengan
  • 浏览: 201727 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JVM 堆内存(heap)设置选项

阅读更多
JVM 堆内存(heap)设置选项
参数格式
说    明

设置新对象生产堆内存(Setting the Newgeneration heap size)
-XX:NewSize
通过这个选项可以设置Java新对象生产堆内存。在通常情况下这个选项的数值为1 024的整数倍并且大于1MB。这个值的取值规则为,一般情况下这个值-XX:NewSize是最大堆内存(maximum heap size)的四分之一。增加这个选项值的大小是为了增大较大数量的短生命周期对象

增加Java新对象生产堆内存相当于增加了处理器的数目。并且可以并行地分配内存,但是请注意内存的垃圾回收却是不可以并行处理的


续表 

JVM 堆内存(heap)设置选项
参数格式
说    明

设置最大新对象生产堆内存(Setting the maximum New generation heap size)
-XX:MaxNewSize
通过这个选项可以设置最大Java新对象生产堆内存。通常情况下这个选项的数值为1 024的整数倍并且大于1MB

其功用与上面的设置新对象生产堆内存-XX:NewSize相同

设置新对象生产堆内存的比例(Setting New heap size ratios)
-XX:SurvivorRatio
新对象生产区域通常情况下被分为3个子区域:伊甸园,与两个残存对象空间,这两个空间的大小是相同的。通过用-XX:SurvivorRatio=X选项配置伊甸园与残存对象空间(Eden/survivor)的大小的比例。你可以试着将这个值设置为8,然后监控、观察垃圾回收的工作情况

设置堆内存池的最小值

(Setting minimum heap size)
-Xms
通过这个选项可以要求系统为堆内存池分配内存空间的最小值。通常情况下这个选项的数值为1 024的整数倍并且大于1MB。这个值的取值规则为,一般情况下这个值(-Xms)与最大堆内存相同,以降低垃圾回收的频度

设置堆内存池的最大值(Setting maximum heap size)
-Xmx
通过这个选项可以要求系统为堆内存池分配内存空间的最大值。通常情况下这个选项的数值为1 024的整数倍并且大于1 MB

一般情况下这个值(-Xmx)与最小堆内存(minimum heap size –Xms)相同,以降低垃圾回收的频度

取消垃圾回收
-Xnoclassgc
这个选项用来取消系统对特定类的垃圾回收。它可以防止当这个类的所有引用丢失之后,这个类仍被引用时不会再一次被重新装载,因此这个选项将增大系统堆内存的空间

设置栈内存的大小
-Xss
这个选项用来控制本地线程栈的大小,当这个选项被设置的较大(>2MB)时将会在很大程度上降低系统的性能。因此在设置这个值时应该格外小心,调整后要注意观察系统的性能,不断调整以期达到最优

分享到:
评论

相关推荐

    ibm HeapAnalyzer JVM内存分析工具 ha457.jar下载

    为了充分利用IBM HeapAnalyzer,你需要了解JVM内存管理的基本概念,包括堆内存分区、垃圾收集器的工作机制以及内存泄漏的常见模式。同时,理解如何在Java应用中生成堆转储文件也是必不可少的,这通常可以通过JVM的...

    mat(mac)---jvm内存分析工具

    总之,MAT作为一款强大的JVM内存分析工具,对于优化Java应用的内存使用,提升应用性能,尤其是对于Mac OS X平台的开发者来说,是不可或缺的利器。通过熟练掌握MAT的使用,开发者可以更有效地管理和优化应用程序的...

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

    JVM 中的内存管理机制可以分为两部分:堆(Heap)和非堆(Non-heap)内存。堆是 JVM 中用于存放类实例和数组的内存区域,而非堆是 JVM 中用于存放方法区、JVM 内部处理或优化所需的内存的区域。 堆内存分配可以通过...

    JVM内存日志

    `jmap`是Java的一个命令行工具,用于获取堆内存的详细信息,包括堆dump,这对于分析JVM内存状态非常有用。 本文将深入探讨JVM内存结构、`jmap`工具的使用以及如何分析`dump.txt`文件中的内存日志。 1. JVM内存结构...

    JVM内存设置方法.docx

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

    ECLIPSE,TOMCAT,JVM内存设置

    JVM内存分为几个区域,包括堆(Heap)、方法区(Method Area)、虚拟机栈(JVM Stack)、本地方法栈(Native Method Stack)和程序计数器(Program Counter Register)。内存溢出问题通常发生在堆或方法区。理解这些...

    JVM内存参数调优

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

    设置jvm内存的方法

    ### 设置JVM内存的方法 #### 一、引言 在Java应用程序开发与部署的过程中,合理的JVM内存配置至关重要。不合适的内存配置不仅可能导致应用程序性能下降,还可能引发一系列的内存溢出错误,如`OutOfMemoryError`。...

    JVM内存分析工具.7z

    IBM提供的ga456、ha456与jca457工具就是这样的利器,它们可以帮助开发者深入理解JVM内存的使用情况,找出内存泄漏或过度消耗内存的问题。 首先,ga456工具全称为"Garbage Collector and Memory Analyzer",它是一个...

    在Eclipse状态栏上增加JVM内存用量指示器

    JVM内存主要分为几个区域:堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、程序计数器(PC Register)和本地方法栈(Native Method Stack)。内存使用过高可能导致内存溢出,影响程序运行效率,甚至导致...

    基于HeapAnalyzer456.jar 分析java内存溢出

    1. **生成堆转储文件(Heap Dump)**:当Java应用程序出现内存溢出异常时,可以通过JVM参数设置(如`-XX:+HeapDumpOnOutOfMemoryError`)让JVM自动生成堆转储文件,或者通过`jmap`命令手动生成。堆转储文件是分析...

    eclipse与tomcat的JVM设置

    JVM主要分为两个区域:堆(Heap)和非堆(Non-Heap)。堆区用于存储对象实例等数据,而非堆区包括方法区、线程栈等,主要用于存放类的信息、常量池、静态变量等。 #### 三、Eclipse中的JVM设置 在Eclipse中配置JVM...

    解决Java_heap_space问题

    JVM 堆空间的设置是指 JVM 可以调配使用的内存空间的设置。JVM 在启动时会自动设置堆空间的大小,其初始空间(即 -Xms)是物理内存的 1/64,最大空间(即 -Xmx)是物理内存的 1/4。可以利用 JVM 提供的 -Xmn、-Xms ...

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

    Java虚拟机(JVM)是Java应用程序的运行环境,它负责执行字节码并管理内存...通过上述方法,可以有效地预防和解决`java.lang.OutOfMemoryError: Java heap space`问题,优化JVM内存管理,提升应用程序的稳定性和性能。

    打造极速MyEclipse+由MyEclipse内存不足谈谈JVM内存

    JVM内存分为几个主要区域:堆内存(Heap)、方法区(Method Area)、虚拟机栈(JVM Stack)、本地方法栈(Native Method Stack)和程序计数器(Program Counter Register)。其中,堆内存用于存储对象实例,方法区...

    JAVA JVM内存监控工具总结

    【Java JVM内存监控工具详解】 Java JVM内存监控是优化Java应用程序性能的关键环节,而VisualVM作为一款集成多种JDK命令行工具的可视化平台,提供了强大的分析功能。它包含的工具如jps、jstat、jmap、jinfo、jstack...

    搜索引擎创建索引时JVM 运行时内存溢出解决方案

    3. **JVM内存设置不当**:默认的JVM内存设置可能不足以应对大规模索引任务,例如堆内存大小(-Xms, -Xmx)设置过小。 4. **内存泄漏**:程序中的某些对象未被正确释放,导致内存持续占用。 为了解决JVM运行时内存...

    关于java堆内存溢出的几种情况

    总结来说,处理Java内存溢出问题需要对JVM内存结构有深入理解,并能识别程序中的潜在问题。正确配置JVM参数、优化代码以及及时排查内存泄漏是预防和解决此类问题的关键。在实践中,监控和日志记录也是非常重要的工具...

    heapdump分析工具

    首先,heapdump是一个包含Java虚拟机(JVM)堆内存快照的文件,它记录了程序运行时所有对象以及它们之间的引用关系。通过分析heapdump文件,我们可以找出占用内存较大的对象,追踪内存泄漏的源头,以及了解对象生命...

Global site tag (gtag.js) - Google Analytics