`
heipark
  • 浏览: 2094844 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java内存参数设置笔记

    博客分类:
  • Java
 
阅读更多

通过如下命令可以查看当前版本Java的内存参数

 

java -X

 

  • -Xmixed mixed mode execution (default)
  • -Xint interpreted mode execution only
  • -Xbootclasspath:<directories and zip/jar files separated by :>
  • set search path for bootstrap classes and resources
  • -Xbootclasspath/a:<directories and zip/jar files separated by :>
  • append to end of bootstrap class path
  • -Xbootclasspath/p:<directories and zip/jar files separated by :>
  • prepend in front of bootstrap class path
  • -Xnoclassgc disable class garbage collection
  • -Xincgc enable incremental garbage collection
  • -Xloggc:<file> log GC status to a file with time stamps
  • -Xbatch disable background compilation
  • -Xms<size> set initial Java heap size
  • -Xmx<size> set maximum Java heap size
  • -Xss<size> set java thread stack size
  • -Xprof output cpu profiling data
  • -Xfuture enable strictest checks, anticipating future default
  • -Xrs reduce use of OS signals by Java/VM (see documentation)
  • -Xcheck:jni perform additional checks for JNI functions
  • -Xshare:off do not attempt to use shared class data
  • -Xshare:auto use shared class data if possible (default)
  • -Xshare:on require using shared class data, otherwise fail.

-Xms : init heap size ,可以使用mg作为单位。正确配置,-Xms64m -Xms2g
-Xmx : max heap size ,可以使用mg作为单位。正确配置:-Xmx64m -Xmx2g
注意:如果以g为单位,值必须为整数, “-Xmx0.5g” 是错误的配置


-XX:+PrintHeapAtGC

{Heap before GC invocations=1 (full 0):
 def new generation   total 4928K, used 4589K [0x236b0000, 0x23c00000, 0x28c00000)
  eden space 4416K, 100% used [0x236b0000, 0x23b00000, 0x23b00000)
  from space 512K,  33% used [0x23b80000, 0x23bab490, 0x23c00000)
  to   space 512K,   0% used [0x23b00000, 0x23b00000, 0x23b80000)
 tenured generation   total 10944K, used 0K [0x28c00000, 0x296b0000, 0x336b0000)
   the space 10944K,   0% used [0x28c00000, 0x28c00000, 0x28c00200, 0x296b0000)
 compacting perm gen  total 12288K, used 367K [0x336b0000, 0x342b0000, 0x376b0000)
   the space 12288K,   2% used [0x336b0000, 0x3370bf60, 0x3370c000, 0x342b0000)
    ro space 10240K,  51% used [0x376b0000, 0x37bd7b58, 0x37bd7c00, 0x380b0000)
    rw space 12288K,  54% used [0x380b0000, 0x38744ce0, 0x38744e00, 0x38cb0000)
0.071: [GC 4589K->172K(15872K), 0.0004379 secs]
Heap after GC invocations=2 (full 0):
 def new generation   total 4928K, used 172K [0x236b0000, 0x23c00000, 0x28c00000)
  eden space 4416K,   0% used [0x236b0000, 0x236b0000, 0x23b00000)
  from space 512K,  33% used [0x23b00000, 0x23b2b3d0, 0x23b80000)
  to   space 512K,   0% used [0x23b80000, 0x23b80000, 0x23c00000)
 tenured generation   total 10944K, used 0K [0x28c00000, 0x296b0000, 0x336b0000)
   the space 10944K,   0% used [0x28c00000, 0x28c00000, 0x28c00200, 0x296b0000)
 compacting perm gen  total 12288K, used 367K [0x336b0000, 0x342b0000, 0x376b0000)
   the space 12288K,   2% used [0x336b0000, 0x3370bf60, 0x3370c000, 0x342b0000)
    ro space 10240K,  51% used [0x376b0000, 0x37bd7b58, 0x37bd7c00, 0x380b0000)
    rw space 12288K,  54% used [0x380b0000, 0x38744ce0, 0x38744e00, 0x38cb0000)
}
 
-XX:+PrintGCDetails

3.800: [GC 3.800: [DefNew: 4416K->0K(4928K), 0.0000824 secs] 4589K->173K(15872K), 0.0001107 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
3.803: [GC 3.803: [DefNew: 4416K->0K(4928K), 0.0000818 secs] 4589K->173K(15872K), 0.0001139 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
3.806: [GC 3.806: [DefNew: 4416K->0K(4928K), 0.0000834 secs] 4589K->173K(15872K), 0.0001190 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
3.809: [GC 3.809: [DefNew: 4416K->0K(4928K), 0.0000828 secs] 4589K->173K(15872K), 0.0001187 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
3.812: [GC 3.812: [DefNew: 4416K->0K(4928K), 0.0000799 secs] 4589K->173K(15872K), 0.0001145 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
 

-Xloggc:c:/gc.log


参考:
http://www.devdaily.com/blog/post/java/java-xmx-xms-memory-heap-size-control

-- heipark



 

分享到:
评论

相关推荐

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

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

    java基础总结大全(笔记).pdf

    Java基础总结大全涵盖了Java编程语言的核心概念,从JVM、JRE和JDK的区别,到环境变量的设置,再到变量的定义和类型转换,深入浅出地讲解了Java的基础知识。 1. JVM、JRE和JDK: - JVM(Java Virtual Machine)是...

    java笔记 java笔记

    这包括安装Java Development Kit (JDK)、设置环境变量等步骤。 ##### 2.2 Java中基本概念 - **类(Class)**:定义了一组属性和方法,用于描述一类事物的特征和行为。 - **对象(Object)**:类的实例,每个对象都具有...

    Effective Java读书笔记.pdf

    * 可以使得参数设置变得清晰易懂:构造器模式可以使用fluent API的方式来构造对象,提高代码的可读性。 * 可以让代码具有很好的可读性和可维护性:构造器模式可以使得代码更加简洁和易于理解。 然而,构造器模式也...

    JAVA程序员面试宝典笔记总结(刘磊版)

    ### JAVA程序员面试宝典笔记总结 #### 1. JDK与JRE - **JDK (Java Development Kit)**:这是Java开发工具包,包含了Java运行所需的各类库和工具,包括编译器、文档、示例代码等。JDK还包含了一个JRE(Java Runtime...

    Java语言程序设计学习笔记

    29. **Java内存模型**:理解堆内存、栈内存、方法区和本地方法栈的工作原理。 这些章节将引导你逐步深入Java世界,建立起坚实的编程基础。随着学习的深入,你将能够熟练地使用Java进行软件开发,并为解决实际问题...

    Java学习笔记_内存管理.rar

    - **JVM参数设置**:例如-Xms和-Xmx设置堆内存大小,-XX:NewRatio调整新生代和老年代的比例,-XX:SurvivorRatio设置Eden和Survivor区的比例。 - **监控与诊断工具**:如JConsole、VisualVM等可以帮助我们观察内存...

    疯狂java讲义笔记

    【疯狂Java讲义笔记】是针对《疯狂JAVE讲义》这本书的知识点提炼,适合用于复习Java编程。书中涵盖了Java的基础概念、面向对象的理解、数据类型和运算符以及数组等核心内容。 一、Java概述 Java程序在编译后产生与...

    java实训笔记

    Java 实训笔记主要涵盖Java语言的基础知识,包括JDK的安装、环境变量配置以及核心编程概念。以下是对这些知识点的详细说明: 1. **JDK安装与环境变量配置**: - JDK(Java Development Kit)是Java开发所需的核心...

    Java基础知识笔记.rar

    1. **Java环境搭建**:首先,你需要安装Java Development Kit (JDK),设置好环境变量`JAVA_HOME`、`PATH`和`CLASSPATH`,以便于编译和运行Java程序。 2. **Java语法基础**:包括数据类型(如整型、浮点型、字符型、...

    java基础 CoreJava笔记

    ### Java基础 CoreJava笔记 #### 一、面向对象编程与Java语言 面向对象编程(OOP)是一种编程范式,它将程序设计成一系列相互交互的对象。这些对象包含数据(属性)以及对该数据进行操作的方法(行为)。Java作为一...

    良葛格Java学习笔记

    - **内存调优**:JVM参数设置,优化应用程序性能。 以上内容是“良葛格Java学习笔记”中的核心知识点,通过深入学习和实践,可以帮助读者建立起坚实的Java基础,进一步提升编程技能。其中,ch01.pdf可能详细介绍了...

    Java jdk1.7学习笔记pdf

    - **Java内存模型**:深入了解JDK 1.7中的Java内存模型,包括线程间的数据共享机制、volatile关键字的使用以及原子变量类的实现。 - **垃圾回收机制**:详细解析JDK 1.7中各种垃圾回收算法的工作原理,如分代回收、...

    Java学习笔记

    ### Java学习笔记知识点详解 ...以上是关于Java学习笔记中的一些核心知识点的总结,包括环境配置、基础知识、流程控制、面向对象编程和内存管理等方面的内容。这些知识点对于初学者理解和掌握Java编程语言至关重要。

    阿里P8 架构师整理Java学习笔记.pdf

    - **启动类加载器(Bootstrap ClassLoader)**: 负责加载存放在&lt;JAVA_HOME&gt;\lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且能够被虚拟机识别的类库。 - **扩展类加载器(Extension ClassLoader)**: ...

    java私塾学习笔记整理

    ### Java私塾学习笔记整理 #### 第一章:Java入门 **一、Java是什么?** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年推出。它旨在为跨平台开发提供一种通用的语言环境,使开发者能够在任何...

    个人整理java笔记

    Java的垃圾回收机制自动管理内存,减少了内存泄漏的可能性,提高了开发效率。 - **垃圾回收机制的触发条件**: - **超出生命周期**: 当对象不再被任何引用指向时,即被视为无用,可以被回收。 - **对象的引用被...

    java笔记心得

    ### Java 笔记心得知识点梳理 #### 随机数生成与数组操作 - **Random 类的使用**:`Random rand = new Random();` 这行代码创建了一个 `Random` 类的对象 `rand`,用于生成随机数。接下来的 `x = rand.nextInt(400...

    JVM内存空间分配笔记

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

    阿里云大学java笔记(一)课时1-40.docx

    阿里云大学的Java笔记涵盖了面向对象编程的基础,包括类与对象的概念、内存管理、异常处理、构造方法、匿名对象以及数组的使用。以下是对这些知识点的详细解释: 1. **类与对象**: - 类是Java中的蓝图,它定义了...

Global site tag (gtag.js) - Google Analytics