JVM | 命令行诊断与调优 jhsdb jmap jstat jps

目录

jmap

查看堆使用情况

查看类列表,包含实例数、占用内存大小

生成jvm的堆转储快照dump文件

jstat

查看gc的信息,查看gc的次数,及时间

查看VM内存中三代(young/old/perm)对象的使用和占用大小

查看元数据空间统计

查看年轻代对象的信息

查看年轻代对象的信息及其占用量

查看老年代对象的信息

查看老年代对象的信息及其占用量

查看最近一次GC统计和原因

jps

查看当前运行中java的进程

查看进程启动时传递给main()的参数

查看进程启动时的JVM参数

部分报错情况

Cannot connect to core dump or remote debug server. Use jhsdb jmap instead

ERROR: ptrace(PTRACE_ATTACH, ..) failed for 30865: Operation not permitted...


jmap

查看堆使用情况

jmap -heap [pid]

查看类列表,包含实例数、占用内存大小

jmap -histo [pid]

如果带上live则只统计活对象:

jmap -histo:live [pid]

生成jvm的堆转储快照dump文件

jmap -dump:format=b,file=dumpFileName [pid]

jstat

查看JVM统计信息,类装载、内存、垃圾收集、JIT编译等运行数据。

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

查看gc的信息,查看gc的次数,及时间

jstat -gc [pid]

信息说明:

  • S0C:    年轻代中第一个survivor(幸存区)的容量 (字节)
  • S1C:    年轻代中第二个survivor(幸存区)的容量 (字节)
  • S0U:    年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
  • S1U:    年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
  • EC:      年轻代中Eden的容量 (字节)
  • EU:      年轻代中Eden目前已使用空间 (字节)
  • OC:     老年代的容量 (字节)
  • OU:     老年代目前已使用空间 (字节)
  • MC:     metaspace(元空间)的容量 (字节)
  • MU:     metaspace(元空间)目前已使用空间 (字节)
  • CCSC:当前压缩类空间的容量 (字节)
  • CCSU:当前压缩类空间目前已使用空间 (字节)
  • YGC:  从应用程序启动到采样时年轻代中gc次数
  • YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
  • FGC:  从应用程序启动到采样时老年代(全gc)gc次数
  • FGCT:从应用程序启动到采样时老年代(全gc)gc所用时间(s)
  • GCT:  从应用程序启动到采样时gc用的总时间(s)

查看VM内存中三代(young/old/perm)对象的使用和占用大小

jstat -gccapacity [pid]

信息说明:

  • NGCMN: 年轻代(young)中初始化(最小)的大小(字节)
  • NGCMX: 年轻代(young)的最大容量 (字节)
  • NGC:      年轻代(young)中当前的容量 (字节)
  • S0C:       年轻代中第一个survivor(幸存区)的容量 (字节)
  • S1C:       年轻代中第二个survivor(幸存区)的容量 (字节)
  • EC:         年轻代中Eden的容量 (字节)
  • OGCMN:老年代中初始化(最小)的容量大小 (字节)
  • OGCMX:老年代的最大容量(字节)
  • OGC:     老年代当前新生成的容量 (字节)
  • OC:        老年代的容量 (字节)
  • MCMN:   metaspace(元空间)中初始化(最小)的大小 (字节)
  • MCMX:   metaspace(元空间)的最大容量 (字节)
  • MC:        metaspace(元空间)当前新生成的容量 (字节)
  • CCSMN:最小压缩类空间大小
  • CCSMX:最大压缩类空间大小
  • CCSC:   当前压缩类空间大小
  • YGC:     从应用程序启动到采样时年轻代中gc次数
  • FGC:     从应用程序启动到采样时老年代(全gc)gc次数

查看元数据空间统计

jstat -gcmetacapacity [pid]

 信息说明:

  • MCMN:  最小元数据容量
  • MCMX:  最大元数据容量
  • MC:       当前元数据空间大小
  • CCSMN:最小压缩类空间大小
  • CCSMX:最大压缩类空间大小
  • CCSC:   当前压缩类空间大小
  • YGC:     从应用程序启动到采样时年轻代中gc次数
  • FGC:     从应用程序启动到采样时老年代(全gc)gc次数
  • FGCT:   从应用程序启动到采样时老年代(全gc)gc所用时间(s)
  • GCT:     从应用程序启动到采样时gc用的总时间(s)

查看年轻代对象的信息

jstat -gcnew [pid]

信息说明:

  • S0C:   年轻代中第一个survivor(幸存区)的容量 (字节)
  • S1C:   年轻代中第二个survivor(幸存区)的容量 (字节)
  • S0U:   年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
  • S1U:   年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
  • TT:      持有次数限制
  • MTT:   最大持有次数限制
  • DSS:   期望的幸存区大小
  • EC:     年轻代中Eden的容量 (字节)
  • EU:     年轻代中Eden目前已使用空间 (字节)
  • YGC:  从应用程序启动到采样时年轻代中gc次数
  • YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)

查看年轻代对象的信息及其占用量

jstat -gcnewcapacity [pid]

信息说明: 

  • NGCMN: 年轻代(young)中初始化(最小)的大小(字节)
  • NGCMX: 年轻代(young)的最大容量 (字节)
  • NGC:      年轻代(young)中当前的容量 (字节)
  • S0CMX:  年轻代中第一个survivor(幸存区)的最大容量 (字节)
  • S0C:       年轻代中第一个survivor(幸存区)的容量 (字节)
  • S1CMX:  年轻代中第二个survivor(幸存区)的最大容量 (字节)
  • S1C:       年轻代中第二个survivor(幸存区)的容量 (字节)
  • ECMX:    年轻代中Eden的最大容量 (字节)
  • EC:         年轻代中Eden的容量 (字节)
  • YGC:      从应用程序启动到采样时年轻代中gc次数
  • FGC:      从应用程序启动到采样时old代(全gc)gc次数

查看老年代对象的信息

jstat -gcold [pid]

信息说明:

  • MC:     metaspace(元空间)的容量 (字节)
  • MU:     metaspace(元空间)目前已使用空间 (字节)
  • CCSC:压缩类空间大小
  • CCSU:压缩类空间使用大小
  • OC:     Old代的容量 (字节)
  • OU:     Old代目前已使用空间 (字节)
  • YGC:  从应用程序启动到采样时年轻代中gc次数
  • FGC:  从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:  从应用程序启动到采样时gc用的总时间(s)

查看老年代对象的信息及其占用量

jstat -gcoldcapacity [pid]

 信息说明:

  • OGCMN:Old代中初始化(最小)的大小 (字节)
  • OGCMX:Old代的最大容量(字节)
  • OGC:     Old代当前新生成的容量 (字节)
  • OC:        Old代的容量 (字节)
  • YGC:     从应用程序启动到采样时年轻代中gc次数
  • FGC:     从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:   从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:     从应用程序启动到采样时gc用的总时间(s)

查看最近一次GC统计和原因

jstat -gccause [pid]

 信息说明:

  • LGCC:最后一次GC原因
  • GCC:  当前GC原因(No GC 为当前没有执行GC)

jps

查看当前运行中java的进程

jps

查看进程启动时传递给main()的参数

jps -m

查看进程启动时的JVM参数

jps -v

部分报错情况

Cannot connect to core dump or remote debug server. Use jhsdb jmap instead

 jdk版本原因所导致的,在jdk8以后需要加上 jhsdb 以运行(注意这里的格式):

jhsdb jmap --heap --pid [pid]

ERROR: ptrace(PTRACE_ATTACH, ..) failed for 30865: Operation not permitted...

新版的Linux系统(Ubuntu 11.04之后会出现这种问题)加入了 ptrace-scope 机制。这种机制为了防止用户访问当前正在运行的进程的内存和状态,而一些调试软件本身就是利用 ptrace 来进行获取某进程的内存状态的(包括GDB),所以在新版本的Linux系统,默认情况下不允许再访问了, 可以临时开启(注意权限):

echo 0 > /proc/sys/kernel/yama/ptrace_scope

永久修改:

vi  /etc/sysctl.d/10-ptrace.conf kernel.yama.ptrace_scope = 0 

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

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

相关文章

Spark【Spark Streaming】

1、基本数据源 1.1、文件流 在spark Shell 下运行&#xff1a; [lyhhadoop102 spark-yarn-3.2.4]$ spark-shell Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 2022-09-…

HTML笔记-狂神

1. 初识HTML 什么是HTML&#xff1f; Hyper Text Markup Language : 超文本标记语言 超文本包括&#xff1a;文字、图片、音频、视频、动画等 目前使用的是HTML5&#xff0c;使用 W3C标准 W3C标准包括&#xff1a; 结构化标准语言&#xff08;HTML、XML&#xff09; 表现标…

Kafak - 单机/集群快速安装指北(3.x版本)

文章目录 官方下载地址上传安装包解压安装包到指定目录修改解压包名为kafka修改config目录下的配置文件server.propertie配置环境变量其他机器同上 - 修改配置文件中的brokerid启动集群停止Kraft 方式部署集群----(不使用zookeeper) 官方下载地址 http://kafka.apache.org/dow…

【ROS入门】机器人系统仿真——相关组件以及URDF集成Rviz

文章结构 相关组件URDF(Unified Robot Description Format)——创建机器人模型Gazebo——搭建仿真环境Rviz(ROS Visualization Tool)——显示机器人各种传感器感知到的环境信息 URDF集成RvizURDF相关语法robotlinkjoint URDF优化——xacro相关语法属性与算数运算宏文件包含 实操…

工作:三菱伺服驱动器连接参数及其电机钢性参数配置与调整

工作&#xff1a;三菱伺服驱动器参数及电机钢性参数配置与调整 一、三菱PLC与伺服驱动器连接参数的设置 1. 伺服配置 单个JET伺服从站链接侧占用点数:Rx/Ry占用64点、RWw/RWr占用32点 图中配置了22个JET伺服从站&#xff0c;占用点数:Rx/Ry占用64222048‬点、RWw/RWr占用322…

基于YOLOv8模型和UA-DETRAC数据集的车辆目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型和UA-DETRAC数据集的车辆目标检测系统可用于日常生活中检测与定位汽车&#xff08;car&#xff09;、公共汽车&#xff08;bus&#xff09;、面包车&#xff08;vans&#xff09;等目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方…

金融行业网络安全保护与三级等保合规实施方案

金融行业网络安全保护与三级等保合规实施方案旨在帮助金融机构实施符合三级等保标准的网络安全保护措施。以下是一个基本的实施方案概述&#xff1a; 评估和规划&#xff1a; 进行风险评估&#xff1a;评估网络系统的风险&#xff0c;确定安全威胁、弱点和潜在风险。 确定等级…

Node学习笔记之MongoDB

一、简介 1.1 Mongodb 是什么 MongoDB 是一个基于分布式文件存储的数据库&#xff0c;官方地址 MongoDB: The Developer Data Platform | MongoDB 1.2 为什么选择 Mongodb 操作语法与 JavaScript 类似&#xff0c;容易上手&#xff0c;学习成本低 二、核心概念 Mongodb 中…

css 三栏布局的实现?

目录 前言 用法 代码 理解 高质量图片 1. 左侧栏 - 导航菜单 2. 中间栏 - 主要内容 3. 右侧栏 - 小部件和广告 布局的响应式设计 三栏布局在前端页面设计中是一个常见的布局方式&#xff0c;通常包含左侧、中间和右侧三个部分。这种布局方式在多种场景中都很受欢迎&am…

node实战——搭建带swagger接口文档的后端koa项目(node后端就业储备知识)

文章目录 ⭐前言⭐初始化项目⭐配置router目录自动扫描路由⭐swagger文件配置自动生成json文件⭐封装扫描目录路由加入swagger⭐配置项目入口总文件⭐运行效果⭐总结⭐结束⭐前言 大家好,我是yma16,本文分享关于node实战——搭建带swagger接口文档的后端koa项目(node后端就…

使用Redis部署 PHP 留言板应用

使用Redis部署 PHP 留言板应用 启动 Redis 领导者&#xff08;Leader&#xff09;启动两个 Redis 跟随者&#xff08;Follower&#xff09;公开并查看前端服务清理 启动 Redis 数据库 创建 Redis Deployment apiVersion: apps/v1 kind: Deployment metadata:name: redis-le…

机器学习之ROC与AUC

文章目录 定义ROC曲线&#xff1a;AUC&#xff08;Area Under the ROC Curve&#xff09;&#xff1a; 定义 ROC&#xff08;Receiver Operating Characteristic&#xff09;曲线和AUC&#xff08;Area Under the ROC Curve&#xff09;是用于评估二分类模型性能的重要工具。 …

kuaishou web端did注册激活 学习记录

快手web端 did 注册激活的流程大概如下&#xff1a; 1.访问web端的接口&#xff0c;主动触发滑块&#xff0c;拿到滑块信息 2.然后滑块验证did 获取captchaToken 3.携带captchaToken访问接口 4.最后校验web端的did 是否激活 最后激活以后的效果如下&#xff1a; 经过测试&…

查找算法-斐波那契查找法(Fibonacci Search)

目录 查找算法-斐波那契查找法&#xff08;Fibonacci Search&#xff09; 1、说明 2、算法分析 3、C代码 查找算法-斐波那契查找法&#xff08;Fibonacci Search&#xff09; 1、说明 斐波那契查找法又称为斐氏查找法&#xff0c;此查找法和二分法一样都是以分割范围来进…

有六家机器视觉公司今年11月份初放假到明年春节后,除夕不放假看住企业不跑路,不倒闭,明年大家日子会越来越甜

不幸的消息一个接着一个&#xff0c;请大家注意下面的消息 我已经收到已经有6家机器视觉公司今年11月份初放假到明年春节后&#xff0c;他们真的没有订单了&#xff0c;其中4家宣布员工可以自行寻找工作&#xff0c;今年除夕不放假是经济下行经济考量吗&#xff1f;看住企业不…

如何避免阿里云对象储存OSS被盗刷

网站app图片的云端存储离不开对象存储oss,而最难为的问题就是app做的出名了&#xff0c;少不了同行的攻击&#xff0c;包含ddos&#xff0c;cc攻击以及oss外链被盗刷&#xff01; 防盗链功能通过设置Referer白名单以及是否允许空Referer&#xff0c;限制仅白名单中的域名可以访…

OpenFeign实现分析、源码解析

什么是openfeign? 是springcloud全家桶的组件之一&#xff0c;其核心作用是为Rest API提供高效简洁的rpc调用方式。 为什么只定义接口而没有实现类&#xff1f; 源码解读&#xff08;省略&#xff09; 总结&#xff1a; 源码分析&#xff1a;如何发送http请求&#xff1f; …

竞赛 深度学习卫星遥感图像检测与识别 -opencv python 目标检测

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐…

vscode json文件添加注释报错

在vscode中创建json文件&#xff0c;想要注释一波时&#xff0c;发现报了个错&#xff1a;Comments are not permitted in JSON. (521)&#xff0c;意思是JSON中不允许注释 以下为解决方法&#xff1a; 在vscode的右下角中找到这个&#xff0c;点击 在出现的弹窗中输入json wit…

selenium4 元素定位

selenium4 9种元素定位 ID driver.find_element(By.ID,"kw")NAME driver.find_element(By.NAME,"tj_settingicon")CLASS_NAME driver.find_element(By.CLASS_NAME,"ipt_rec")TAG_NAME driver.find_element(By.TAG_NAME,"area")LINK_T…