Jmap-JVM(十六)

news2024/11/27 22:27:58

上篇文章说了ZGC是jdk11加入的,他是未来jvm垃圾收集器的奠定者,满足TB级别内存处理,STW时间保持在10ms以下。

  • Jmap

我们可以先通过jmap -histo 进程ip 来查看,但是这样看不太清晰,我们可以用这行命令生成一个文件:jmap -histo > ./print.txt。

我们还可以通过jmap -heap 进程ip 来看堆信息。

 

以上则是命令执行后获取到的信息。

分别代表最大堆空间是3G多,年轻代74M,年轻代最大1个G,老年代171M,元空间则是20多M。

下面则是堆正在用的信息,eden的空间容量是capacity,已经使用和空闲的都显示在内,还有from svrvivor和to survivor容量和使用情况,最后old generation代表老年代使用情况。

命令:jmap -dump:format=b,file=print.hprof 进程ip

则可以导出dump文件,这里是可以通过设置jvm参数来导出的:

-XX:+HeapDumpOnOutOfMemoryError

-XX:+HeapDumpPath=./   (存放dump文件路径)

  • Jstack

命令:jstack 进程ip

 

从打印的信息可以看到,jstack很容易帮我们发现死锁,甚至连死锁在哪一行都标记出来(在165行)

Thread-20和thread-19线程互相死锁。

还可以看到他们锁的线程ip,是16进制,一个锁着0x000000078591c980

一个锁着0x000000078591c990

  • Jinfo

命令:Info -flags pid

Jinfo -sysprops pid

 

  • Jstat

命令:jstat -gc pid

 

S0C:survivor0区域,C代表当前总大小。  (单位KB)

S1C:survivor1区域,C代表当前总大小。

S0U:survivor0区域,U代表Use正在使用的区域大小。

S1U:survivor1区域,U代表Use正在使用的区域大小。

EC:eden区域,C代表当前总大小。

EU:eden区域,U代表Use正在使用的eden区域大小。

OC:old区域,C代表当前总大小。

OU:old区域,U代表Use正在使用的old区域大小。

MC:元空间区域,C代表当前总大小。

MU:元空间区域,U代表元空间正在使用的区域大小。

CCSC和CCSU代表压缩指针。

YGC:8,代表从系统启动开始youngGC发生8次GC。

TGCT:0.858,代表youngGC消耗时间0.858s。

FGC:2,代表从系统启动开始FULLGC发生2次。

FGCT:0.055,代表fullGC消耗0.055s。

GCT:FGC和YGC总的T之和。

Jstat -gc pid 1000 10 代表我要执行10次这个命令,1s执行一次。

Jstat -gccapacity pid可以查看堆情况。

Jstat -gcnew pid可以查看新生代垃圾回收。

Jstat -gcnewcapacity pid查看新生代内存。

Jstat -gcold pid老年代垃圾回收。

Jstat -gcoldcapacity pid老年代内存情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/793601.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue中TodoList案例_动画

MyItem.vue : 主要是引入了import animate.css样式库,animate.css样式库配置见上一篇文章animate.css样式库,然后再li标签外套了transition标签,引用了name里面的名称是animate.css拿过来的,绑定了enter-active-class和leave-act…

前端实现导出excel表格

需求:实现勾选行导出为表格 一、安装插件 npm install --save file-saver xlsx运行项目报如下警告的话 运行npm install xlsx0.16.0 --save 来降低版本号(最初我安装的版本号是0.18.16的版本)再次运行项目就不会报如下警告了 二、新建一个ex…

嵌入式开发:单片机嵌入式Linux学习路径

SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。…

SOC FPGA之HPS模型设计(一)

目录 一、建立HPS硬件系统模型 1.1 GHRD 1.2 从0开始搭建HPS 1.2.1 FPGA Interfaces 1.2.1.1 General 1.2.1.2 AXI Bridge 1.2.1.3 FPGA-to-HPS SDRAM Interface 1.2.1.4 DMA Peripheral Request 1.2.1.5 Interrupts 1.2.1.6 EMAC ptp interface 1.2.2 Peripheral P…

PostMan+Jmeter工具介绍及安装

目录 一、PostMan介绍​编辑 二、下载安装 三、Postman与Jmeter的区别 一、开发语言区别: 二、使用范围区别: 三、使用区别: 四、Jmeter安装 附一个详细的Jmeter按照新手使用教程,感谢作者,亲测有效。 五、Jme…

Linux:Linux的发展史和作用有哪些?

文章目录 Linux是什么?Linux的开源特征为什么要学习Linux?Linux的应用场景有哪些? Linux是什么? 简单来说,Linux就是操作系统,它和Windows等软件一样,都只是操作系统,并无区别 Linu…

linux查看系统版本、内存、CPU等信息

一、查看linux内核版本信息(两种方法) 1. cat /proc/version linux查看当前操作系统内核版本信息 2. uname -a linux查看当前操作系统内核版本信息 二、查看linux系统版本信息(3种方法) 1. lsb_release -a 可列出所有版本…

链表踏歌:独具慧眼,雕琢重复元素藏身匿迹

本篇博客会讲解力扣“83. 删除排序链表中的重复元素”的解题思路,这是题目链接。 由于链表是排好序的,我们可以通过遍历一次链表的方式,删除所有重复的结点。具体来说, 如果链表为空,则不需要删除,直接返回…

你能说说“淘宝购物车”怎么测试么?

前言 今天我给大家整理一篇面试高频问到的问题“淘宝购物车”怎么测试。 测试思维 依然附上测试任何事物的测试思路: 第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的&#xf…

自动化测试框架unittest与pytest的区别!

引言 前面文章已经介绍了python单元测试框架,大家平时经常使用的是unittest,因为它比较基础,并且可以进行二次开发,如果你的开发水平很高,集成开发自动化测试平台也是可以的。而这篇文章主要讲unittest与pytest的区别&…

感染了后缀为.maloxx勒索病毒如何应对?数据能够恢复吗?

引言: 网络安全威胁不断进化,勒索病毒作为其中一种恶意软件类型,给个人用户和企业带来了严重的数据安全问题。.maloxx勒索病毒(maloxx Ransomware)是最近出现的一种恶意软件,它能够加密受害者计算机中的数…

建筑设计项目管理系统推荐:哪个最适合您的业务?

建筑设计用什么项目管理系统好?Zoho Projects设计行业一体化解决方案适用于以建筑设计、景观规划、勘探设计、室内设计、灯光设计、幕墙设计、工业设计、品牌设计、平面设计为主要业务的设计公司、广告公司、建筑设计院等设计机构。围绕设计行业的核心业务需求&…

媒体查询做页面的响应式布局@media

媒体查询(media)_花束javascipt的博客-CSDN博客

[JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测

系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 文章目录 系列文章目录前言一、本章节效果图二、介绍2.1、准备地图素材2.2、封装地图上…

GUI自动化测试进阶:页面对象模式

本文介绍的是页面对象设计模式及其常见的滥用继承的错误。 本文和语言无关,但作者主要使用python和java。本文假设读者已经具有了一定的python或java基础,知道类和方法是什么。 如果完全没有这方面的基础,请看我的《测试人员如何学Python》。…

TPS54620RHLR是一款同步降压转换器

TPS54620RHLR是一款同步降压转换器,通过高效率和集成高压侧和低压侧MOSFET,为小型设计进行了优化。通过电流模式控制实现了进一步的空间节省,从而减少了元件数量,并通过选择高开关频率,减少了电感器的占地面积。输出电…

Redis源码篇 - QuickList数据结构

Quicklist是Redis3.2之后引入的一个双向链表结构,其本质是对ziplist弊端的一个优化数据结构,ziplist是一种连续的内存空间,用于减少碎片化,减少内存占用,但是正是因为需要连续的内存空间,当数量越来越大时&…

023 - group by

GROUP BY语句将具有相同值的行分组到汇总行中 GROUP BY语句通常与聚合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,将结果集分组为一列或多列。 SQL GROUP BY 语法 SELECT column_name(s) FROM tabl…

antd中的Cascader级联选择框怎么清空重置React

项目场景: React项目,使用antd中的Cascader级联选择框 问题描述: 通过其他按钮无法重置选择框中的项 原因分析:(对应解决办法一和二) 1、级联选择框的数据默认是根据options绑定的数组中的value值来进行…

Audio Clip

Unity支持的音频格式: aiff/wav:适用于较短声音片段 mp3/OGG:适用于较长的音乐片段 多声道强制转为单声道,减小所占内存。 勾选后会对声音有优化 在后台加载声音 Load Type: 第一个,以不压缩的形式存在内存&#…