一、线上服务排查,从三个方面负载、cpu、内存 这三个方面着手

1:top 命令是比较常见的,也是最常用的,因为他显示的信息也是最全的

2:针对负载的问题,我们怎么能确定负载当前是高还是低?

    一般来说只要负载超过0.7可能就表示当前负载有点高了,需要排查一下,这个是针对单核CPU来说的,如果是多核CPU来说,我们就是CPU核数乘以0.7来计算的。
在top显示的进程信息的时候,我们可能看到当前进程中 7704这个进程 占用CPU最高,而且是我们的Java进程 3:top -Hp 是查看当前进程中的所有的线程情况,同样的可以看到 9046 这个线程占用比较高,那么我们再接着分析这个线程在处理什么逻辑就可以了

4:使用printf命令查看这个线程的16进制

5:最后使用jstack命令查看当前线程正在执行的什么方法,再或者我们直接使用 jmap 来dump内存

6:free来查看内存数据,是保证我们程序能正常运行的关键,这个也是需要我们查看的一个关键指标数据

    A: Mem行,顾名思义也就是展示内存的使用情况

          a:  total:表示物理内存总大小
b: used:已经被使用的物理内存和交换空间
c: free:表示未被分配的内存
d: shared:共享使用的物理内存大小
e: buff/cache buffer 和 cache 使用的物理内存大小
f: available:当前剩余实际可用内存(还可以被应用程序使用的物理内存大小) 7: vmstat命令用于查看CPU使用情况

         a: us:用户进程执行时间百分比(如果当前值比较高,说明用户进程消耗高)
b: sy:内核系统进程执行时间百分比(如果系统比较高,那么你可以找运维了)
c: id:空闲时间百分比
d: wa:IO等待时间百分比(如果IO时间长,那说明机器在大量的处理磁盘的读写操作,这个也是关注的重点,可能写日志啊等都有可能)
e: st:虚拟 CPU 等待实际 CPU 的时间的百分比

二、将内存使用情况加载到dump文件中

           方法一:
jmap -dump:format=b,file=dumpFileName <pid> #示例
jmap -dump:format=b,file=/tmp/dump.dat 6219 ![](https://img2020.cnblogs.com/blog/2032084/202111/2032084-20211105230757990-608498056.png) 方法二:Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态 A:安装一下Arthas:$curl -O https://arthas.aliyun.com/arthas-boot.jar

                B: 启动Arthas前,必须先要启动所要监控的服务

                C:生成dump文件并到指定到相关位置上

三、解析dump文件,可以使用 MAT、Jprofiler等

Java中的常见排查问题命令的更多相关文章

  1. JAVA中字符串常见操作

    String str1="hello,world";String str2="Hello,World"; 1.字符串的比较:例,System.out.print ...

  2. Java 中最常见的 5 个错误

    在编程时,开发者经常会遭遇各式各样莫名错误.近日,Sushil Das 在 Geek On Java上列举了 Java 开发中常见的 5 个错误,与君共「免」. 原文链接:Top 5 Common M ...

  3. Java学习之道:Java中十个常见的违规编码

    近期,我给Java项目做了一次代码清理工作.经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)反复出如今代码中.因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java ...

  4. Java中十个常见的违规编码

    摘要:作者Veera Sundar在清理代码工作时发现一些常见的违规编码,因此,Veera Sundar把针对常见的一些违规编码总结成一份列表,以便帮助Java爱好者提高代码的质量和可维护性. 最近, ...

  5. java中各种常见的异常

    一.各种常见的异常 在上一节中程序如果你注意留意,程序抛出的异常是:java.lang.ArithmeticException.这个异常是在lang包中已经定义的.在lang包中还定义了一些我们非常常 ...

  6. java中不常见的keyword:strictfp,transient

    1.strictfp, 即 strict float point (精确浮点). strictfp keyword可应用于类.接口或方法.使用 strictfp keyword声明一个方法时,该方法中 ...

  7. Java中部分常见语法糖

    语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率.说白了,语法糖就是对现有语法的一 ...

  8. Java中最常见的十道面试题

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  9. java 中的两个常用命令

    这两个命令,分别为,javac 和java 实际操作如下图:

  10. Java注解【二、Java中的常见注解】

    JDK自带注解 @Override 重写 @Deprecated 已过期 @Suppvisewarnings 压制警告 Demo: public interface Person { public S ...

随机推荐

  1. 深⼊mysqlONDUPLICATEKEYUPDATE语法的分析

    深⼊mysqlONDUPLICATEKEYUPDATE语法的分析mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLI ...

  2. 浅谈ChatGPT在云计算资源调度的应用

    本文分享自天翼云开发者社区<浅谈ChatGPT在云计算资源调度的应用>,作者:张****兵 一.ChatGPT技术原理 ChatGPT 是基于 GPT(Generative Pre-tra ...

  3. “翼”鸣惊人,天翼云两篇论文被ACM ICPP 2024收录!

    *日,由天翼云科技有限公司弹性计算产品线天玑实验室撰写的两篇论文<PheCon: Fine-Grained VM Consolidation with Nimble Resource Defra ...

  4. Luogu P5663 CSP-J2019 加工零件 题解 [ 绿 ] [ 分层图最短路 ]

    加工零件:非常好的一道图论题.CCF 普及组的题目大概也只有图论出的比较巧妙了. 题意简述:给你一张无向图,\(q\) 次询问,判断是否存在一条从 \(a\) 到 \(1\) 且长度为 \(L\) 的 ...

  5. 一个SQL就让内存耗光了

    一个SQL内存为什么就没了呢 最近遇到一个故障,研发新上线一个功能,成功把主机内存耗光,导致实例重启.复现一个SQL如何把数据库的内存耗光. 实验环境 Oracle Database 19c(故障发生 ...

  6. 用 solon-ai 写个简单的 deepseek 程序(构建全国产 ai 智能体应用)

    用国产应用开发框架(及生态),对接国产 ai.构建全国产 ai 智能体应用. 1.先要申请个 apiKey 打开 https://www.deepseek.com 官网,申请个 apiKey .(一万 ...

  7. Kubernetes - [02] 网络通讯方式

    题记部分 一.网络通讯模式   Kubernetes的网络模型假定了所有Pod都在一个可以直接连通的扁平的网络空间中,这在(GCEGoogle Compute Engine)里面是现成的网络模型,Ku ...

  8. cmd - windows操作系统命令提示符常用命令

    mklink /j C:\Users\lin_0421\Desktop\note D:\note

  9. .net 8 C# 集成 AWS Cognito SMS/Email 注册与登录

    本文主要分为三个部分: 1.描述 cognito 涉及的专业术语 以及 交互流程 2..net 集成的代码 3.感想 * 阅读提示 :鼠标悬停在 章节标题 上可见 文章目录 1. Cognito 概念 ...

  10. winform控件 datagridview分页功能 界面实现需要有上一页下一页等操作控件 dataGridView1 控件的数据绑定方式 如何实现分页中的数据修改然后进行保存 请列出详细例子 特别保存部分

    以下提供一个示例来说明如何在 WinForms 中实现分页功能,并在分页中实现数据修改并保存的操作. 首先,我们需要一个包含数据源的 DataGridView 控件,并添加上一页.下一页等操作控件来实 ...