JVM基础知识:

JVM调优工具:

1.jmap

jmap常用参数

命令:jmap -heap PID >> D:\heap.log

解释:

using thread-local object allocation.		--- 使用本机线程分配
Mark Sweep Compact GC --- 标记MSC GC(MSC是CMS GC算法的Full GC算法) Heap Configuration: ##堆配置情况
MinHeapFreeRatio = 40 ##最小堆使用比例(GC后,如果发现空闲堆内存占到整个堆的40%,则增大上限值)
MaxHeapFreeRatio = 70 ##最大堆可用比例(GC后,如果发现空闲堆内存占到整个堆的70%,则收缩上限值)
MaxHeapSize = 1073741824 (1024.0MB) ##最大堆空间大小 1G
NewSize = 1048576 (1.0MB) ##新生代分配大小 1M
MaxNewSize = 4294901760 (4095.9375MB) ##最大可新生代分配大小 4G
OldSize = 4194304 (4.0MB) ##老生代大小 4M
NewRatio = 2 ##新生代比例(新生代和年老代的堆内存占用比例, 例如:2表示新生代占年老代的1/2,占整个堆内存的1/3)
SurvivorRatio = 8 ##新生代与suvivor的比例(Eden与Survivor的占用比例。例如:8表示一个survivor区占用 1/8 的Eden内存,即1/10的新生代内存)
PermSize = 268435456 (256.0MB) ##perm区大小
MaxPermSize = 268435456 (256.0MB) ##最大可分配perm区大小 Heap Usage: ##堆使用情况
New Generation (Eden + 1 Survivor Space): ##新生代(伊甸区 + survior空间)
capacity = 322109440 (307.1875MB) ##新生代容量307M
used = 226237024 (215.75643920898438MB) ##已经使用大小215M
free = 95872416 (91.43106079101562MB) ##剩余容量91M
70.23607380150051% used ##使用比例70%
Eden Space: ##伊甸区
capacity = 286326784 (273.0625MB) ##伊甸区容量 273M
used = 206511520 (196.94473266601562MB) ##已经使用大小196M
free = 79815264 (76.11776733398438MB) ##剩余容量76M
72.12441571655413% used ##使用比例72%
From Space: ##survior1区
capacity = 35782656 (34.125MB) ##survior1容量 34M
used = 19725504 (18.81170654296875MB) ##已经使用大小 18M
free = 16057152 (15.31329345703125MB) ##剩余容量 15M
55.125879979395606% used ##使用比例55%
To Space: ##survior2区
capacity = 35782656 (34.125MB) ##survior2容量 34M
used = 0 (0.0MB) ##已经使用大小 0M
free = 35782656 (34.125MB) ##剩余容量 34M
0.0% used ##使用比例0%
tenured generation: ##老生代使用情况
capacity = 715849728 (682.6875MB) ##老生代容量 682M
used = 112533120 (107.3199462890625MB) ##已经使用大小 107M
free = 603316608 (575.3675537109375MB) ##剩余容量 575M
15.72021551428179% used ##使用比例15%
Perm Generation: ##perm区使用情况
capacity = 268435456 (256.0MB) ##perm区容量 256M
used = 83002880 (79.15771484375MB) ##已经使用大小 79M
free = 185432576 (176.84228515625MB) ##剩余容量 176M
30.920982360839844% used ##使用比例30%

  

JVM性能调优(out of memory内存溢出/泄露出来)的更多相关文章

  1. JVM性能调优(3) —— 内存分配和垃圾回收调优

    前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 一.内存调优的目标 新生代的垃圾回收是比较简单的,Eden区满了无法分配新对象 ...

  2. JVM性能调优(4) —— 性能调优工具

    前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 JVM性能调优(3) -- 内存分配和垃圾回收调优 一.JDK工具 先来看看有 ...

  3. JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

    摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat.hprof等小巧的工具,本博客希望 ...

  4. JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解(转VIII)

    JVM本身就是一个java进程,一个java程序运行在一个jvm进程中.多个java程序同时运行就会有多个jvm进程.一个jvm进程有多个线程至少有一个gc线程和一个用户线程. JDK本身提供了很多方 ...

  5. JVM 性能调优实战之:一次系统性能瓶颈的寻找过程

    玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈.性能优化分为好几个层次,比如系统层次.算法层次.代码层次…JVM 的性能优化被认为是底层优化,门槛较高, ...

  6. JVM性能调优监控命令jps、jinfo、jstat、jmap+jhat、jstack使用详解

    JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jinfo.jstat.jmap+jhat.jstack等小巧的工具,本博客希望能起抛砖 ...

  7. 《转》:JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

    原链接:https://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 ...

  8. 【十一】jvm 性能调优工具之 jmap

    jvm 性能调优工具之 jmap 概述 命令jmap是一个多功能的命令.它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息.查看 ClassLoader 的信息以及 fi ...

  9. 【转】JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解

    http://www.cnblogs.com/therunningfish/p/5524238.html JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsol ...

  10. JDK自带JVM性能调优监控工具jps、jstack、jmap、jhat、jstat

    原文地址:https://www.jianshu.com/p/db954cb968fb JVM性能调优监控工具jps.jstack.jmap.jhat.jstat位于JDK的bin目录,这些工具短小精 ...

随机推荐

  1. Windows 环境下安装MongoDB

    mongoDB下载地址 https://www.mongodb.org/ 在mongoDB官网下载windows版本的mongoDB后解压出来(本文以解压到D盘为例) 在解压出来的MongoDB文件夹 ...

  2. inventor安装失败怎样卸载安装inventor 2016?

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  3. ApplicationContextAware的作用

    ApplicationContextAware其实我们看到---Aware就知道是干嘛用的了,就是属性注入的, 但是这个ApplicationContextAware的不同地方在于,实现了这个接口的b ...

  4. script脚本中写不写$(document).ready(function() {});的区别

    $(document).ready() 里的代码是在页面内容都加载完才执行的,如果把代码直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,此时如果你标签里执行的代码调用 ...

  5. 转-Shell笔记——命令:Sort,uniq,join,cut,paste,split

    转自:http://blog.csdn.net/wklken/article/details/6562098 Sort,uniq,join,cut,paste,split 命令—— Sort Sort ...

  6. IA-32e模式下的异常处理

    系统异常处理 CPU如果调用系统异常处理程序 需要的数据结构 IDT_Table: 中断向量表, 在中断向量表中的每一项都是一个中断描述符(中断门或者陷阱门), 一个中断描述符中的几位是段选择符 GD ...

  7. genymotion安装及使用出现的问题

    此处总结genymotion出现的问题. 1)安装好genymotion后,新建一个模拟器.去下载的时候报错 Unable to create Virtual Device: Connection t ...

  8. oracle用分隔符分割字段,并转为多行

    作用:当判断是否满足条件,而条件字段又是用","分割的时候. 如果数据库中一个字段插入数据,并且以","分割.有点像行转列 4804510101,4946645 ...

  9. 关于th,td,tr的一些相关标签

    tr表示行,td表示列,th其实也是表示列但是在这个标签中的文字会以粗体出现 <th>为表格标题,属性summar为摘要, <caption>标签为首部说明, <thea ...

  10. python面试题——数据库和缓存(46题)

    1.列举常见的关系型数据库和非关系型都有那些? 2.MySQL常见数据库引擎及比较? 3.简述数据三大范式? 4.什么是事务?MySQL如何支持事务? 5.简述数据库设计中一对多和多对多的应用场景? ...