转自:
http://www.myexception.cn/operating-system/415201.html
线上故障问题排查技能记载一
1. pgrep 查询进程的工具
pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行。在服务器的配置和管理中,这个工具常被应用,简单明了
用法: pgrep 参数选项 程序名
eg: pgrep java #查询出JAVA进程的进程号
常用参数:
-l 列出程序名和进程ID
-o 进程起始的ID
-n 进程终止的ID
2. 汇总某个进程下所有的线程数
方法一 :ls /proc/20967/task/|wc -l : 20967是进程号
方法二 : ps -eLf | grep 20967 |wc -l
ps:该方法对于排查JAVA各种容器(eg:tomcat)由于创建过多线程,导致cpu耗费大量的资源进行上线文切换非常有帮助。
我们可以写一个脚本,当线程数>阀值,则进行jstack dunp
3. TOP命令看线程资源使用情况
第一步:输入TOP命令
第二步: 输入 shift+h ,打开线程模式,查看目前最耗系统资源的线程是哪些
可以再按 1用CPU模式看各个CPU资源的使用情况 按O查看帮助
4 top+jstack
使用top命令看线程资源使用情况后,可以得到这些线程的pid,然后把这些线程号转换成16进制,
jstack -l pid(java进程号) :把java线程快照给dump下来.可以用来排查死锁,以及耗费系统资源线程当前的运行情况
eg: jstack -l pid >jstack_dump.log #将当前JVM线程快照dump到jstack_dump.log文件中
grep jstack_dump.log 16进制号 #这样可以看看当前这些耗费资源的线程的内存情况
5. jstack 打印当前线程堆栈情况
命令格式: jstack [-option] jvm_pid
参数: -l 打印关于锁的堆栈信息(long listing. Prints additional information about locks)
-m 混合打印模式,可打印C++和JAVA的堆栈信息
-h 打印帮助信息
6.查看运行时gc情况命令:
$JAVA_HOME/bin/jstat -gcutil `pgrep java` 1000 10 (后三个参数是PID,扫描间隔时间单位毫秒,扫描次数)
$JAVA_HOME/bin/jstat -gc `pgrep java` 1000 10
7.对于网络问题的定位 :
可以通过netstat命令来查看某个时间段的网络重传率。
通过netstat -l enX -sp tcp
收集发送的TCP包数和retransmit的包数,间隔一定时间过后
再次收集这两个数值,分别相减后相除,可得出在此采样时间内的TCP重传率
相关推荐
本文档围绕Java线上故障排查提供了详尽的方案和知识点,覆盖了从问题定位到解决方案的多个方面。 首先,了解Java线上常见问题的分类是非常重要的。在生产环境中,问题可大致分为系统异常和业务异常两大类。系统异常...
在 Linux 系统中,为了高效地排查线上 Java 应用的问题,首先需要明确 Java Development Kit (JDK) 的安装位置。这可以通过以下两种方式实现: 1. **通过 `java-version` 命令验证 JDK 是否已经安装**: - 执行 `...
### Java线上故障排查方案 #### 一、引言 在软件开发领域,处理生产环境中的问题是一项必备技能。生产环境中可能会遇到多种复杂的情况,比如代码bug、硬件故障、网络问题等,这些都可能导致应用程序无法正常运行。...
针对Java应用服务器,排查问题时常用的工具还包括jps、jstack、jmap和jstat等。jps命令可以列出当前系统的Java进程,而jstack则用于打印Java进程的线程堆栈信息。jmap命令可以帮助我们查看heap内存的使用情况,并且...
在IT运维与开发工作中,线上问题的排查与解决是维护系统稳定性和用户体验的关键环节。本篇文章将基于提供的文件信息,深入解析线上问题调查中常用的Linux性能检测工具及JVM性能相关命令,并提供详细的解释与应用场景...
线上问题排查 集合框架 哈希映射 并发哈希映射 数组列表 向量 深入浅出JVM JVM内存模型 性能调优、线上问题排查 类加载机制详解 垃圾回收机制 垃圾回收器、垃圾回收算法 ARM与多线程 多线程基础知识 常见关键字 ...
性能调优、线上问题排查 类加载机制详解 垃圾回收机制 垃圾回收器、垃圾回收算法 并发与多线程 多线程基础知识 常见关键字 多线程锁机制 线程池知识点 常见的JUC工具类 多线程经典面试题 常用工具集 JVM问题排查...
本文将详细讲解Linux中的常见命令、命令分类以及如何利用这些命令来查看系统资源,如内存和CPU状态,同时也会涉及到Java线上问题的排查方法。 1. **Linux命令分类及用途**: - **文件和目录操作**:如`ls`用于列出...
总结,Java线上环境遇到CPU暴涨的问题,排查过程主要包括监控工具的使用、线程状态分析、堆栈跟踪和代码审查。理解这些步骤对于Java开发者来说至关重要,能够快速定位问题并进行修复,保证服务的稳定运行。在实际...
如果你对`jstack`不熟悉,可以参考CSDN博主的文章,如`jstack_justry_deng的博客-CSDN博客_jstack.url`和`【线上问题排查】CPU100%和内存100%排查_码农BookSea的博客-CSDN博客.url`,这些文章提供了更多关于如何解读...
使用JVM命令和一查看这个JVM参数,帮助我们排查、解决问题。 1 JDK的命令行工具 JDK的命令行工具大多数是对JDK/lib/tools.jar类库的一层薄包装而已,它们的主要功能代码是在tools类库中实现的。Linux下的这些工具有...
环境:centos 运行程序: springMVC的web服务 ...Java的堆内存和metaspace等内存排查。使用的工具是:Jconsole、JVisualVM、arthas、strace。 Java堆外内存分析排查。使用的命令:jcmd 进程的原生内存排查。使
3. **Tomcat配置**:Apache Tomcat是一个开源的Servlet容器,用于实现Java Servlet和JavaServer Pages技术。在Tomcat中配置长连接通常涉及到修改连接器配置,如HTTP/1.1连接器中设置`protocol`属性为`org.apache....
很早的时候,我们使用BTrace排查问题,在感叹BTrace的强大之余,也曾好几次将线上系统折腾挂掉。2012年淘宝的聚石写了HouseMD,将 常用的几个Btrace脚本整合在一起形成一个独立风格的应用,但其核心代码用的是Scala...
性能调优、线上问题排查 类加载机制详解 垃圾回收机制 垃圾回收器、垃圾回收算法 并发与多线程 线程状态转换与通信机制 线程同步与互斥 线程池知识点 常见的JUC工具类 常用工具集 JVM问题排查工具-JMC IDEA开发神器 ...
性能调优、线上问题排查 类加载机制详解 垃圾回收机制 垃圾回收器、垃圾回收算法 并发与多线程 多线程基础知识 常见关键字 多线程锁机制 线程池知识点 常见的JUC工具类 多线程经典面试题 常用工具集 JVM问题排查工具...
上传到 linux线上服务器,执行 chmod -R 777 show-busy-java-threads 执行权限。 ./show-busy-java-threads 查看执行占用cpu偏高的 线程,方便我们排查定位。
Java 开发工程师需要参与需求分析及评审,日常开发沟通,负责功能详细设计,接口详细定义,编码实现,单元测试及性能压测,保证代码质量,遵照开发规范,代码持续优化,配合协助线上问题排查及解决。 六、技术栈 ...
Java Attach是一个强大的工具,它允许开发者在生产环境中无需重启服务就能进行问题排查和修复,极大地提高了运维效率。本文将深入探讨Java Attach的工作原理、应用场景以及如何使用。 **一、Java Attach简介** Java...
三方包,加上日志,重启服务,然后排查问题。但使用这个工具,就可以直接动态加入日志,而不用 修改第三方jar包,也不用重启。 已有功能 1、让系统打印某个exception的堆栈,无论此exception是否已经被吃掉...