`

决定Java堆的大小以及内存占用

    博客分类:
  • jvm
阅读更多

转自:
http://blog.csdn.net/zhoutao198712/article/details/7783070

    permanent的初始值和最大值(-XX:PermSize和-XX:MaxPermSize)应该permanent代活动对象大小的1.2到1.5倍。在上图中看到在FullGC之后permanent代占用空间是32390K,差不多32M。因此,permanent代的推荐大小是38M到48M,即可以设置为-XX:PermSize=48m -XX:MaxPermSize=48m(1.5倍)。这个例子里面,permanent代的空间大小是65536K即64M,大出了17M,不过在1G内存的系统的中,这个数值完全可以忍受。

   另外一个常规是,young代空间应该是old代活动对象大小的1到1.5倍。那么在这里例子中,young代的大小可以设置为295M到442M。本例里面,young代的空间大小的358400K,差不多358M,在推荐值中间。

   如果推荐的Java堆的初始值和最大值是活动对象大小3到4倍,而young代的推荐只是1到1.5倍,那么old代空间大小应该是2到3倍。


分享到:
评论

相关推荐

    优化Java堆内存大小的五个技巧

    优化Java堆内存大小对于提升应用性能、防止垃圾收集器频繁启动以及避免OutOfMemoryError至关重要。以下是五个关键技巧,可以帮助你有效地调整Java堆内存设置: 1. **理解默认值与自定义配置**:每个JVM都有默认的堆...

    优化Java堆大小的5个技巧

    ### 优化Java堆大小的五个技巧详解 #### 一、JVM:理解基本原理与内存管理 ##### **1.1 JVM内存模型** JVM内存管理是Java开发人员必须掌握的基本概念之一,它不仅关系到应用的性能,还直接影响到系统的稳定性和...

    JAVA技巧(Java多线程运行时,减少内存占用量).pdf

    根据提供的文件内容,该文件主要讨论了在Java多线程环境下如何减少内存占用量。文件内容并不完整,且存在 OCR 扫描错误,但我会尝试从中提取与Java多线程和内存管理相关的知识点,并加以详细解释。 ### Java多线程...

    统计缓存(java对象所占的内存)大小

    本文将深入探讨如何统计缓存(尤其是Java对象)所占的内存大小,以及这对理解程序内存消耗的重要性。 首先,我们要知道Java对象的内存开销主要由三部分组成:对象头、实例数据和对齐填充。对象头包含对象的类型信息...

    Java中堆内存与栈内存分配浅析

    Java编程语言将内存划分为两种主要区域:栈内存(Stack Memory)和堆内存(Heap Memory),这两种内存区域各自承担不同的职责,对程序的运行起到关键作用。 栈内存主要用于存储基本类型变量(如int、char)和对象的...

    测试java对象占用内存大小的例子

    在Java中,由于垃圾回收机制的存在,直接获取对象的内存占用并不像C++等语言那样简单。通常,我们可以使用一些工具或API来帮助我们。例如,`sun.misc.Unsafe`类(虽然非标准,但广泛使用)提供了访问内存的能力,...

    从 Java 代码到 Java 堆 理解和优化您的应用程序的内存使用

    【标题】:深入理解Java内存使用与优化:从代码到Java堆 【描述】:本文旨在帮助Java开发者深入了解从编写代码到Java堆的内存管理过程,以便更好地优化应用程序的内存使用。通过分析Java代码中的内存开销,以及讨论...

    java 对象 内存 大小

    工具如`VisualVM`和`JProfiler`提供图形界面,可以直接查看对象的内存占用情况,包括对象的总大小、实例字段的大小等。 在缓存实现中,考虑对象内存大小至关重要,因为缓存的容量有限,需要有效地利用空间。根据...

    Java占用内存的研究.pdf

    在本文档中,我们主要研究了Java中对象和数据结构的内存占用情况。Java语言因为其跨平台特性,在内存使用上有一套自己的规则。特别地,Java虚拟机(JVM)管理内存的方式使得开发者需要了解一些基本的内存占用知识,...

    JAVA对象所占内存大小计算例子

    首先,我们需要理解Java对象内存占用的基本原理。每个Java对象都由三部分组成:对象头(Object Header)、实例数据(Instance Data)和对齐填充(Padding)。对象头包含对象引用和类型信息,实例数据是对象实际存储...

    Java内存使用系列一Java对象的内存占用Java开发J

    这个“Java内存使用系列一Java对象的内存占用”主题旨在深入探讨Java对象在内存中的表现,以及如何有效地管理这些资源。Java开发人员需要理解内存分配、垃圾回收机制以及如何避免内存泄漏,以确保程序的高效运行。 ...

    Java中堆内存和栈内存详解

    - **垃圾回收**:Java虚拟机(JVM)会自动管理堆内存,通过垃圾回收机制(Garbage Collection, GC)来回收不再被引用的对象所占用的空间。 #### 四、内存分配策略 Java的内存分配策略主要包括静态分配、栈式分配和...

    JAVA进程占用高内存缘由分析与优化方法_.docx

    使用 jmap 命令可以查看 Java 进程的内存占用情况,包括堆的配置、垃圾回收器的选择、堆的使用情况等。从 jmap 的输出结果可以看到,Java 进程的堆的最大大小是 4096MB,新生代的大小是 1.25MB,永久代的大小是 82.0...

    java-sizeof-0.0.4:一个查看java对象占用内存大小

    本文将深入探讨Java中的对象内存占用,以及如何使用"java-sizeof-0.0.4"工具来查看Java对象在内存中的大小。 在Java中,内存主要分为堆内存(Heap)和栈内存(Stack)。对象通常存储在堆内存中,而基本类型的变量和...

    java字符串内存计算

    \[ \text{字符串内存占用} = \text{String类头大小} + \text{字符数组占用空间} \] 其中,String类头大小固定为24字节。而字符数组占用空间的计算则稍微复杂一些。根据字符串长度的不同,其占用空间有所不同。具体...

    Java内存占用.pdf

    为了最小化JVM的内存占用,开发者需要谨慎地配置JVM参数,如设置合理的堆大小、限制元空间大小、优化线程栈大小等。同时,优化代码以减少不必要的对象创建和内存泄漏也是关键。此外,了解并利用JVM的内存管理特性,...

    本地开发 Spring Cloud 内存占用过高解决方法1

    在开发Spring Cloud应用程序时,经常会遇到一个问题,那就是内存占用过高,这对本地开发环境来说是一个显著的挑战。即使没有大量的请求,内存的高消耗也可能导致IDE(集成开发环境)变得卡顿甚至崩溃。例如,一个...

    Weblogic内存大小配置

    3. **进程大小**:它涵盖了Java堆、本地内存及加载的可执行文件和库所占用的内存总和。在32位操作系统上,进程的虚拟地址空间上限通常为4GB,但操作系统内核会预留一部分,留给应用程序的可用内存通常在2GB至3GB之间...

    java内存泄漏解决

    2. **分析策略**:观察内存使用情况,查找不再使用的对象是否仍被引用,以及这些对象占用的空间大小。 3. **代码审查**:检查是否有不当的静态引用、循环依赖等情况。 #### 五、具体解决方案 1. **合理设置JVM参数...

Global site tag (gtag.js) - Google Analytics