JAVA排查bug的相关命令

2023-11-07

jamp

主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。

举例

[root@iZwz9hv1phm24s3jicy8x1Z crm]# ps -ef|grep java
root     2529802       1  0 Jul11 ?        00:37:01 java -jar Project_CRM-1.0.4-SNAPSHOT.jar
root     2700426 2691206  0 23:48 pts/0    00:00:00 grep --color=auto java

#这里查看java堆的使用情况
[root@iZwz9hv1phm24s3jicy8x1Z crm]# jmap -heap 2529802
Attaching to process ID 2529802, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.121-b13

using thread-local object allocation.
Mark Sweep Compact GC

#堆内存的初始化配置
Heap Configuration:
	#JVM堆的最小空闲比率
   MinHeapFreeRatio         = 40
   #JVM堆的最大空闲比率
   MaxHeapFreeRatio         = 70
   #设置JVM堆的最大大小
   MaxHeapSize              = 517996544 (494.0MB)
   #设置新生代的默认大小
   NewSize                  = 11141120 (10.625MB)
   #设置新生代的最大大小
   MaxNewSize               = 172621824 (164.625MB)
   #设置老年代的大小
   OldSize                  = 22413312 (21.375MB)
   #设置新生代和老年代的大小比率
   NewRatio                 = 2
   #设置新生代中eden区和suvivor区的大小比例
   SurvivorRatio            = 8
   #设置元空间触发FGC的初始阈值
   MetaspaceSize            = 21807104 (20.796875MB)
   #class metadata存储在native memory中,其大小默认是不受限的,可以通过-XX:MaxMetaspaceSize来限制
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   #如果开启了指针压缩,则CompressedClassSpace分配在MaxMetaspaceSize里头
   MaxMetaspaceSize         = 17592186044415 MB
   #MaxMetaspaceSize用于设置metaspace区域的最大值
   G1HeapRegionSize         = 0 (0.0MB)

#堆的使用情况
Heap Usage:
#新生代堆的使用情况
New Generation (Eden + 1 Survivor Space):
   capacity = 28835840 (27.5MB)
   used     = 10300232 (9.823066711425781MB)
   free     = 18535608 (17.67693328857422MB)
   35.72024258700284% used
Eden Space:
   capacity = 25690112 (24.5MB)
   used     = 7154504 (6.823066711425781MB)
   free     = 18535608 (17.67693328857422MB)
   27.849251883370535% used
From Space:
   capacity = 3145728 (3.0MB)
   used     = 3145728 (3.0MB)
   free     = 0 (0.0MB)
   100.0% used
To Space:
   capacity = 3145728 (3.0MB)
   used     = 0 (0.0MB)
   free     = 3145728 (3.0MB)
   0.0% used
#年老代堆的使用情况   
tenured generation:
   capacity = 63827968 (60.87109375MB)
   used     = 45382288 (43.27992248535156MB)
   free     = 18445680 (17.591171264648438MB)
   71.10094433838157% used

24824 interned Strings occupying 2558640 bytes.

jps

用来查看所有的java进程的pid号

[root@iZwz9hv1phm24s3jicy8x1Z ~]# jps
2777472 Jps
2529802 jar
[root@iZwz9hv1phm24s3jicy8x1Z ~]# jps
2777518 Jps
2529802 jar

#-l显示完整程序的名称,或者命令的完整包名
[root@iZwz9hv1phm24s3jicy8x1Z ~]# jps -l
2778459 sun.tools.jps.Jps
2529802 Project_CRM-1.0.4-SNAPSHOT.jar

jstat(参考)

jstat(Java Virtual Machine Statistics Monitoring Tool)是JDK提供的一个可以监控Java虚拟机各种运行状态信息的命令行工具。它可以显示Java虚拟机中的类加载、内存、垃圾收集、即时编译等运行状态的信息。

使用举例

#查看类加载的统计信息,显示类加载、卸载数量、总空间和装载耗时的统计信息。
[root@iZwz9hv1phm24s3jicy8x1Z ~]# jstat -class 2529802
Loaded  Bytes  Unloaded  Bytes     Time   
 12230 22614.5      119   178.4     221.46
#显示即时编译的方法、耗时等信息。
[root@iZwz9hv1phm24s3jicy8x1Z ~]# jstat -compiler 2529802
Compiled Failed Invalid   Time   FailedType FailedMethod
    9228      1       0    46.74          1 org/springframework/boot/loader/jar/Handler openConnection
#显示堆各个区域内存使用和垃圾回收的统计信息。
[root@iZwz9hv1phm24s3jicy8x1Z ~]# jstat -gc 2529802
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
3072.0 3072.0  0.0   3072.0 25088.0   1655.5   62332.0    57731.3   69848.0 66279.7 8920.0 8309.3    295    2.801  26      3.611    6.412
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA排查bug的相关命令 的相关文章

随机推荐

  • 聊聊运算放大器---施密特与迟滞比较器

    很多人把施密特触发器与迟滞比较器混为一谈 以为是一样的东西 其实不然 虽然二者都是带有2个门限的正反馈比较器 还是有具体区别的 1 施密特触发器可以买到专用的芯片 如74HC14 其门限电压UT UT 是固定值 注意均为正电压 2 迟滞触发
  • KubeSphere 社区双周报

    KubeSphere 从诞生的第一天起便秉持着开源 开放的理念 并且以社区的方式成长 如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一 这些都离不开社区小伙伴的共同努力 你们为 KubeSphere 提出了很多建设性意见
  • Vue基础之模板语法介绍

    目录 前言 一 插值 二 指令 三 过滤器 四 计算属性和监听属性 五 vue实现购物车案例 前言 上篇我分享了关于Vue的入门 简单的入了个门 本篇文章将要分享的内容为Vue的模板语法 一 插值 1 1 文本 1 2 html 1 3 属
  • 大数据基础——MySql篇

    MySql 什么是数据库 数据库 保存数据的仓库 他在电脑中是一个文件系统 然后把数据都保存在这些特殊的文件中 并且使用固定的语言 SQL语言 去操作文件中的数据 数据库就是按照数据结构来组织 存储和管理数据的建立在计算机存储设备上的仓库
  • 数据库面试

    数据库知识点 是否了解内存数据库 顾名思义就是将数据放在内存中直接操作的数据库 相对于磁盘 传统的数据库管理系统把所有数据都放在磁盘上进行管理 所以称做磁盘数据库 内存的数据读写速度要高出几个数量级 因此内存数据库的最大特点就是性能好 速度
  • 让CPU画出图形(其实很简单的)

    本例子是当初微软的一个题目 希望windows任务管理器的CPU的占有率 是一个正旋曲线 如果是你 你会如何解决这个问题呢 先上图吧 由于cpu要处理其他电脑程序 只能画出来大概的模样 其实我当时想这个问题时候 是不是考虑对cpu进行操作
  • JS中Symbol的介绍

    1 引入Symbol类型的背景 ES5 的对象属性名都是字符串 这容易造成属性名冲突的问题 举例 使用别人的模块 对象 又想为之添加新的属性 这就容易使得新属性名与原有属性名冲突 2 Symbol类型简介 symbol是一种原始数据类型 其
  • 计算机网络---第五章传输层---UDP

    1UDP的端口号是53 需要应用层提供可靠性服务 2网络层的复分用指的是协议 传输层的复分用指的是进程 3UDP首部为8B 伪首部长度为12B 5使用UDP协议的原因在于要找到目的进程以及更加可靠 6IP电话实时媒体会议流媒体使用UDP 7
  • MySQL复习

    MySQL学习 1 初始MySQL 1 1 什么是数据库 数据库 DB BataBase 作用 存储数据 管理数据 1 2 数据库分类 关系型数据库 SQL MySQL Oracle sql Server 各个表之间 表中行和列之间的关系进
  • js对象属性的命名规范

    1 首先 我们要知道 js对象属性命名有三种方法 1 对象字面量形式命名 这时的属性 可以是任意的字符串 包括空串和空格字符串 也可以是js的变量形式 即以字母 下划线 开头 后面跟字母 数字 下划线和 还可以是纯数字 let obj a1
  • 华为服务器imana安装系统,华为服务器imana配置

    华为服务器imana配置 内容精选 换一换 当前 越来越多的软件采用微服务架构 构建一个产品时会大量使用微服务 不同微服务之间访问时涉及到域名访问 拥有自建IDC的企业 在使用CCE时通常需要在CCE集群与自建IDC之间通信 而且当IDC有
  • Python+Django实现基于人脸识别的门禁管理系统,附带源码!!

    已下项目为实战开发经验 微信搜索关注公众号 python语言空间 获取更多项目源码及资源 项目介绍 基于人脸识别的门禁管理系统 Python Django RESTframework JsonWebToken Redis Dlib 该项目为
  • redhat 红帽7.8安装教程(图文超详细)

    1 打开vm创建 点击创建虚拟机 选择Linux 红帽7系列版本 这个网络类型无所谓 后期还可以改 方向键上下来控制选择第一个 然后按enter Ctrl Alt可以把光标从虚拟机中拉出来 后边还需要创建新的一个用户 密码需要有高安全性
  • 一、在linux下安装jenkins

    前提 在linux中已经安装了jdk 1 安装jenkins的方式一 直接使用命令下载 官网 https pkg origin jenkins io redhat sudo wget O etc yum repos d jenkins re
  • 面试题:有一个箱子容积为v,同时有n个物品,每个物品有一个体积。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间最小。

    面试题 有一个箱子容积为v 同时有n个物品 每个物品有一个体积 要求从n个物品中 任取若干个装入箱内 使箱子的剩余空间最小 输入 箱子的容积 v 物品个数 n 每个物品占的空间 x1 x2 xn 输出 最小剩余空间 s 解题思路 背包类动态
  • SpringCloud服务调用(RestTemplate)

    文章目录 RestTemplate介绍 RestTemplate方法介绍 RestTemplate调用微服务 使用微服务架构的分布式系统 微服务之间通过网络通信 我们通过服务提供者与服务消费者来描述微服务间的调用关系 服务提供者 服务的被调
  • 桌面在计算机的路径,电脑桌面文件存放路径

    电脑桌面存放的文件路径 系统默认配置是这样的 sytemroot Documents and Settings 用户名 桌面 要想某个登录账户的桌面文件放到桌面的时候实际存储在非系统分区下的任意路径该如何操作呢 解决办法是 修改注册表法如下
  • 腾讯云服务器镜像TencentOS Server操作系统详细介绍

    腾讯云TencentOS Server镜像是腾讯云推出的Linux操作系统 完全兼容CentOS生态和操作方式 TencentOS Server操作系统为云上运行的应用程序提供稳定 安全和高性能的执行环境 TencentOS可以运行在腾讯云
  • webpack5区分生产环境打包文件(通过环境变量区分)

    webpack5区分生产环境打包文件 package json name webpeck version 1 0 0 description main index js scripts test echo Error no test spe
  • JAVA排查bug的相关命令

    jamp 主要用于打印指定Java进程 或核心文件 远程调试服务器 的共享对象内存映射或堆内存细节 举例 root iZwz9hv1phm24s3jicy8x1Z crm ps ef grep java root 2529802 1 0 J