文档章节

java程序cpu过高排查

Kerry_Han
 Kerry_Han
发布于 2014/10/27 19:46
字数 181
阅读 133
收藏 0

解决过程:
1,根据top命令,发现PID为2633的Java进程占用CPU高达300%,出现故障。

2,找到该进程后,如何定位具体线程或代码呢,首先显示线程列表,并按照CPU占用高的线程排序:
[root@localhost logs]# ps -mp 2633 -o THREAD,tid,time | sort -rn

显示结果如下:
USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
root     10.5  19    - -         -      -  3626 00:12:48
root     10.1  19    - -         -      -  3593 00:12:16

找到了耗时最高的线程3626,占用CPU时间有12分钟了!

将需要的线程ID转换为16进制格式:
[root@localhost logs]# printf "%x\n" 3626
e18

最后打印线程的堆栈信息:
[root@localhost logs]# jstack 2633 |grep e18 -A 30

本文转载自:

Kerry_Han
粉丝 15
博文 174
码字总数 54257
作品 0
海淀
程序员
私信 提问
用“逐步排除”的方法定位Java服务线上“系统性”故障

一、摘要 由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超时或卡死等。其中部分故障隐藏颇...

LostTimes
2015/11/19
0
0
java - 吃cpu问题安全排查

线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的的资源很少,但是到了整点的时候,CPU直线飙高,直接到达根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在...

大猪大猪
05/16
0
0
Java 定位导致CPU飙升的代码过程

线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的的资源很少,但是到了整点的时候,CPU直线飙高,直接到达根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在...

dounine
2018/11/02
0
0
Java 定位导致CPU飙升案例

线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的的资源很少,但是到了整点的时候,CPU直线飙高,直接到达根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在...

大猪大猪
05/03
0
0
LINUX类主机JAVA应用程序占用CPU、内存过高分析手段

转载声明:本文为DBA+社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA+社群(dbaplus)。 做为一个IT运维人员,通常在运维过程中会遇到各种各样的问题,系统问...

丁启良
2015/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Guava RateLimiter + AOP注解实现单机限流、统计QPS

1、基于springboot项目pom.xml添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><d......

铁骨铮铮
27分钟前
3
0
龙芯版办公软件下载

金山wps office   rpm包:http://ftp.loongnix.org/os/loongnix/1.0/os/Packages/w/wps-office-10.8.0.6472-1.a20p1.mips64el.rpm   deb包:http://packages.deepin.com/loongson/pool/......

gugudu
32分钟前
2
0
BI报表分析和数据可视化,推荐这三个开源工具!

开源篇 一、Superset 1、技术架构:Python + Flask + React + Redux + SQLAlchemy 2、使用人群: (1)开发/分析人员做好看板,业务人员浏览看板数据 (2)业务人员可自行编辑图表,查看满足...

飓风2000
39分钟前
3
0
CountDownLatch

CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程...

少年已不再年少
48分钟前
2
0
centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
58分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部