java cpu 占用高问题定位
解决过程:
1,根据top命令,发现PID为7137的Java进程占用CPU高达200%,出现故障。
2,找到该进程后,如何定位具体线程或代码呢,首先显示线程列表,并按照CPU占用高的线程排序:
显示结果如下:
[app100657741@qxtx-s20-246 ~]$ ps -mp 7137 -o THREAD,tid,time
USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
25438 14.2 - - - - - - 00:02:23
25438 0.0 19 - futex_ - - 7137 00:00:00
25438 3.4 19 - futex_ - - 7138 00:00:34
或者
[app100657741@qxtx-s20-246 ~]$ top -H -p 7137
top - 13:24:41 up 17 min, ? users, load average: 0.15, 0.17, 0.10
Tasks: 68 total, 0 running, 68 sleeping, 0 stopped, 0 zombie
Cpu(s): 6.4%us, 0.8%sy, 0.0%ni, 91.2%id, 0.4%wa, 0.0%hi, 0.0%si, 1.2%st
Mem: 4051060k total, 2523676k used, 1527384k free, 7060k buffers
Swap: 2097144k total, 0k used, 2097144k free, 145776k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7220 app10065 20 0 4780m 2.0g 12m S 2.0 52.1 0:05.53 java
7224 app10065 20 0 4780m 2.0g 12m S 2.0 52.1 0:05.24 java
找到了耗时最高的线程,占用CPU最大的!
将需要的线程ID转换为16进制格式:
[root@localhost logs]# printf "%x\n" 7220
1c34
最后打印线程的堆栈信息:
[root@localhost logs]# jstack 2633 |grep 1c34 -A 30
[root@localhost logs]#jstat -gcutil 5342 1000 300 #可以显示gc的信息,查看gc的次数,及时间 [root@localhost logs]#jmap -histo 5342 #打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 [root@localhost logs]# jmap -dump:format=b,file=gamexdds1.dump 15370 #dump内存
转载于:https://blog.51cto.com/dingmh/1357980
java cpu 占用高问题定位相关推荐
- 一次cpu占用高的定位分析
客户机器cpu占用较高甚至出现cpu打满的情况,造流程启动运行缓慢,状态更新卡死,严重影响用户体验. 首先观察用户机器资源情况,内存剩余40G,jvm内存占用10%不到. jps -ml 拿到pid之 ...
- java cpu高_Java中的CPU占用高和内存占用高的问题排查
下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例 ...
- java 进程 cpu占用_JAVA进程CPU占用高的故障排查 – 运维那些事
问题分析: 1.程序属于CPU密集型,和开发沟通过,排除此类情况. 2.程序代码有问题,出现死循环,可能性极大. 解决过程: 1.根据top命令,发现PID为2633的Java进程占用CPU高达300 ...
- Java吃CPU还是内存_Java中的CPU占用高和内存占用高的问题排查
下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例 ...
- java进程cpu占用高如何排查
问题: 公司参加HW期间,项目两台双活的jboss服务器频繁触发cpu利用率过高告警,cpu利用率长时间在90%以上. 排查思路: 第一步:在两台Linux服务器上,执行top命令,并按大写P以cpu ...
- java模拟cpu返回_Java CPU 占用高 模拟及排查
jiankunking@ubuntu:~$ jstack 4463 |grep 1170 -A 30 "main" #1 prio=5 os_prio=0 tid=0x00007f ...
- java进程CPU占用高如何排查-案例二
近期项目新版本上线遇到cpu冲高现象,依据之前的经验,把这次排查过程记录下. 这次排查参考了之前记录的经验,还是很有用的:java进程cpu占用高如何排查_停5s的博客-CSDN博客_java进程cp ...
- Java 分析 程序CPU 占用高的原因
Java 分析 程序CPU 占用高的原因 背景:最近突然发现线上测程序长时间CPU 占用过高.内存确没有什么消耗.这种情况下可以排除死锁(一般死锁之后,如果不是自旋锁的话,CPU 占用都不会很高),也 ...
- netty cpu 占用率 高_交换机CPU使用率高问题定位
诊断工具 display工具 log工具 报文冲击导致的CPU使用率高问题 CPU使用率高问题信息采集 诊断工具 display cpu-usage [ slot x ] display cpu-de ...
最新文章
- mybatis-plus中的问题总结
- 记录mysql中的隐患特性
- 使用screen管理后台程序
- 第一个冲刺周期-第三天
- testflight怎么做版本更新_如何使用TestFlight进行App构建版本测试
- 简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽
- php拼接二维码,文字和二维码进行合并
- 电路分析基础知识点总结
- PanDownload:登录百度账号提示浏览器版本太低,点击下载webkit内核,然后重启软件即可
- html页面缩小图片缩小,如何缩小html页面中的图片大小?
- matlab中strcmp函数的使用
- 【ubuntu查看显卡、配置显卡、cuda、cudnn】
- 问题:Traceback (most recent call last): File “D:/xiangmu/python/test/test1.py“, line 100, in <module
- java 一元 二元 三元_一元到三元关系 二元
- 上网tips: 让电脑自带的便笺(便利贴、桌面便签)开机启动
- GitHub清华、北大、浙大、上海交大计算机系项目整理分享
- 修改热血传奇服务器地址,传奇私服如何更改上线地点
- Python 画中国地图 填色图 带南海九段线和指南针
- 关于PHP的成绩管理系统 (老师,管理员,学生,排课)
- 自动驾驶汽车GPS系统数字孪生建模(二)