jvm对内存进行的分析
1.首先我们在我们的服务其上找到我们java服务的pid;
2.我们找到之后输入jmap -heap,得到我们对内存的使用情况
3.分析
MinHeapFreeRatio=n --------------使用率小于 n 的情况下 ,heap 进行收缩
MaxHeapFreeRatio = m---------------使用率大于m 的情况下 ,heap 进行扩张
MaxHeapSize --------------最大堆内存
NewSize 新生代内存大小
MaxNewSize 新生代最大尺寸
OldSize 老年代尺寸
NewRatio eden占比
SurvivorRatio Survivor占比
------------Eden区和Survivor区带都处于新生代中。
MetaspaceSize = 21807104 (20.796875MB)
下面就来分析一下内存新生代和老年代的使用情况:
1.所有通过new创建的对象都分配在堆中分配,可以使用-Xmx和-Xms控制,一个是memory max(Xmx) 一个是memory start (Xms)。
Xmx代表程序最大可以从操作系统中获取的内存数量,Xms代表程序启动的时候从操作系统中获取的内存数量。
堆被划分为新生代和旧生代,新生代又被划分为eden区和Survivor区。
Survivor区又被划分为from和to两个。
一个对象的创建会被划分到eden区,当第一次gc之后,如果对象还存活下来,就会被移动到survivor区,每次进行gc,对象的年龄就会增加一,当达到一定的阈值时,对象就会被移动到old老年带。
因为新生代的对象经常被gc回收掉,所以采用的gc算法一般是复制算法。复制算法的思想是:将内存分为两个区域,from和to,每次只用一块区域,当一块区域的内存用完,就将还存活的对象复制到另一块区域中,复制算法不会产生内存碎片。
对象创建的时候只会存在与eden区和from区,to区是空的,进行gc时,eden所有存活的对象都会复制到to区,而from区中的对象,会根据他们的年龄决定他们的去向:年龄达到一定阈值的对象会复制到老年代old,没有达到的对象会复制到to区。经过这次gc,eden区的对象和from区的对象就全部清空。之后,gc后空的from区现在转变为to区,gc后复制对象进去的to区转变为from区,再次等待下次gc。总之,to区永远时空的。知道转换前的to区被填满,“To”区被填满之后,会将所有对象移动到年老代中。
jvm对内存进行的分析相关推荐
- 导出jvm的内存快照进行分析
查找对应的进程id(PID) 使用 tasklist | findstr javaw.exe 或者知道被占用的端口使用 netstat -nao | findstr "8080" ...
- 生产环境 JVM 内存溢出案例分析
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:blog.csdn.net/prestigeding ...
- Linux与JVM的内存关系分析
Linux与JVM的内存关系分析 原文出处: 美团技术团队 引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 ...
- 生产环境JVM内存溢出案例分析
如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢? 本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法. ...
- 生产环境JVM内存溢出案例分析!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Nginx 为什么快到根本停不下来? 个人原创100W+访问量博客:点击前往,查看更多 来源:blog.csdn ...
- JVM优化系列-详解JVM堆内存分析
导语 了解过java虚拟机的读者都知道,在JVM的内存可以分为堆内存和非堆内存,在之前的博客中分享了关于JVM常见参数的配置.这次分享的内容主要是对堆和非堆内存参数的配置 在Java程序运行的 ...
- 第1篇--基于jdk7和jdk8分析 JVM的内存区域
基于jdk7和jdk8分析 JVM的内存区域 目录 前言 1.什么是JVM 2.JRE/JDK/JVM是什么关系 3.JVM执行程序的过程 4. JVM的生命周期 5.JVM垃圾回收 一.运行时数据 ...
- Linux与JVM的内存关系分析(转)
引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m.从表面上,物理内存 ...
- java jvm 查看内存_JVM内存状况查看方法和分析工具(下)
从以上信息中可看出JVM堆的配置信息,如NewSize.NewRatio.SurvivorRatio等:JVM堆的使用情况,新生代中的Eden Space.From Space.To Space的使用 ...
最新文章
- 奇葩注释大盘点,你觉得哪个最牛逼?
- Python gui编程pyQt5安装步骤
- 判断windows进程是否存在
- 这四种攻击单片机的主要技术你了解多少?
- CYQ.Data 轻量数据层之路 应用示例一 留言版(四)
- 给自己看的squid服务器配置笔记
- linux网络编程之-----基础理论篇
- springboot-29-security(二)用户角色权限控制
- OpenGL基础30:模板测试
- 传阿里云盘将开启扩容收费测试:200GB售价 108元/年
- Word 打印 PrintOut 方法
- 可以自学计算机考证吗
- ebay注册流程_2018eBay注册开店流程?
- Axure绘制跑马灯
- 强化学习实践四:编写通用的格子世界环境类
- 电脑键盘功能基础知识,快速入门,抓住这份详细教程
- 电脑ps计算机磨皮,用PS磨皮详解教程 -电脑资料
- 学计算机女生考研什么专业好就业,适合女生考研易就业的十大专业有哪些
- MySQL 表设计的经验准则
- HighlightBuilder高亮显示
热门文章
- 系统分析与设计大作业实验报告
- 因为计算机丢失uxtheme.dll,解决Win10开机提示uxtheme.dll丢失的方法
- python - windows 之 SetCursorPOS与GetCursorPos操控鼠标
- wifi 驱动 进阶11
- 重装oracle接管磁盘阵列,ibm v7000磁盘阵列oracle恢复
- WEB和WAP有什么区别前端开发的趋势
- 基于python计算包含贝塞尔函数的积分
- bzoj-2150 部落战争
- 基于h5 canvas的模拟时钟javascript程序
- 【附源码】Python计算机毕业设计码码科技公司招投标管理系统