JVM参数MetaspaceSize的误解】的更多相关文章

前言 昨天谢照东大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么,起因是他的某个服务设置了-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m,但是通过jstat -gcutil pid查看M的值为98(M的=MU/MC),即Metaspace区的使用量达到了512m*98%.遗憾的是,这个推算是错误的: 推理 以笔者测试环境上某个服务为例,配置了-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize…
一.HotSpot JVM 提供了三类参数 现在的JVM运行Java程序(和其它的兼容性语言)时在高效性和稳定性方面做的非常出色.例如:自适应内存管理.垃圾收集.及时编译.动态类加载.锁优化等.虽然有了这种程度的自动化(或者说有这么多自动化),但是JVM仍然提供了足够多的外部监控和手动调优工具(允许命令行参数可以在JVM启动时传入到JVM中).在有错误或低性能的情况下,JVM必须能够让调试,JVM提供了几百个这样的参数,所以如果没有这方面的知识很容易迷失. 1)第一类包括了标准参数.顾名思义,标…
JVM 中最重要的一部分就是堆空间了,基本上大多数的线上 JVM 问题都是因为堆空间造成的 OutOfMemoryError.因此掌握 JVM 关于堆空间的参数配置对于排查线上问题非常重要. tips:本文所有配置,如无特别说明,均基于JDK1.8. 堆配置 我们使用 -Xms 设置堆的初始空间大小,使用 -Xmx 设置堆的最大空间大小. java -Xms20m -Xmx30m GCDemo 在上面的命令中,我们设置 JVM 的初始堆大小为 20M,最大堆空间为 30M. 年轻代 在 JDK1…
-Xmx4G 设置堆的最大内存大小为4GB,也可通过-XX:MaxHeapSize=4GB进行设置 -Xms256m 设置堆的初始内存大小为256兆,如果未设置此选项,则初始大小将设置为新生代和年老代分配的内存大小总和,也可通过-XX:InitialHeapSize=256m进行设置 -Xmn256m 设置新生代的初始内存大小和最大内存大小为256兆,也可通过-XX:NewSize=256m设置新生代初始内存大小.-XX:MaxNewSize=256m设置新生代最大内存大小 -Xss256k 设…
目录 采用CMS垃圾回收配置: 采用G1垃圾回收配置: 参数说明: 通用参数: CMS机制才有的参数: G1机制才有的参数: 参考: 打开 IDEA 安装目录,看到有一个 bin 目录,其中有两个 vmoptions 文件,需针对不同的JDK进行配置: 采用CMS垃圾回收配置: -server -Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=512m -XX:+UseConcMarkSweepGC -XX:+…
一.JVM的新生代.老年代.与永久代 JVM中的堆,一般分为三大部分:新生代.老年代.永久代: 1.新生代:主要是用来存放新生的对象,一般占据堆的1/3空间.由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收.新生代分为以下三个区: Eden区:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代).当Eden区内存不够的时候就会触发MinorGC,对新生代区进行一次垃圾回收. ServivorTo:保留了一次MinorGC过程中的幸存者. ServivorFr…
这里的基本目录%base%表示安装目录,如我的目录为:E:/weblogic就是%base% 1.weblogic目录介绍 weblogic主要的目录介绍: 1.日志目录: 每个domain(域)都有自己的日志目录,一般启动日志是AdmiServer.log,存放位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\logs,如下:  2.项目发布目录: 每个域也都有自己的项目发布目录.存放位置在:%base%\user…
JVM参数配置 大致方向:JVM调优的目的是保证在一定吞吐量的情况下尽可能的减少GC次数,从而减少系统停顿时间,提高服务质量和效率. 其中减少GC次数的原则: 将新生代转换成老年代的数量降至最少(及时进行Minor GC回收新生代) 减少Full GC 次数 常用参数 -XX:+PrintGCDetails:打印GC的详细信息(冒号之后的+表示打印,-表示不打印) -XX:+UseSerialGC : 使用串行回收器 -Xmx4000m :指定堆最大值为4000M( 等价于-XX:MaxHeap…
设置Tomcat端口号和连接数等 使用application.properties配置文件有一些参数无法设置,所以推荐创建一个类文件来配置,如下: package com.qipai.springbean; import org.apache.catalina.connector.Connector; import org.apache.coyote.http11.Http11NioProtocol; import org.springframework.boot.context.embedde…
## 3.2.1 JVM参数及调优 ### 调优基本概念 在调整JVM性能时,通常有三个组件需要考虑:1. 堆大小调整2. 垃圾收集器调整3. JIT编译器 大多数调优选项都与调整堆大小和选择合适的垃圾收集器有关,JIT编译器对性能也有很大影响,但很少需要对其进行调优,尤其是针对较新版本的JVM. 通常,在进行Java程序调优的时候,会重点关注两个主要指标:- 响应性:应用程序对请求进行响应的速度,对于专注响应性的应用程序,长时间的暂停是不可接受的,需要在最短时间内做出响应 - 吞吐量:侧重于在…