java程序 cpu占用过高分析】的更多相关文章

linux终端下用 top命令看到cpu占用超过100%.之所以超过100%.说明cpu是多核.默认top显示的是cpu加起来的使用率,运行top后按大键盘1看看,可以显示每个cpu的使用率,top里显示的是把所有使用率加起来.如果是4核cpu占用率最高可达400%. java进程占用CPU过高常见的两种情况及分析定位 https://blog.csdn.net/dingjianmin/article/details/85705812 在linux中的定位方法4.1.找到CPU占用高的进程号 如…
今天一个电话面试问了这个问题.回来查了下答案,自己也顺带操作一遍,做个记录.之前知道jstack工具可以查看线状态这些.比如死锁这些,主要是之前不知道top -H -p pid这个命令的使用,这命令可以看到进程下面线程信息,拿到线程ID,然后再结合jstack命令使用就可以解决这个问题了.下面记录一下具体的操作步骤: 1.打个jar包丢到机器上运行 package com.nijunyang.test; public class TestApplication { public static v…
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top - 09:37:18 up 70 days, 16:29, 2 users, load average: 1.13, 1.04, 0.97 Tasks: 105 total, 1 running…
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1.通过top命令查看当前系统CPU使用情况,找到可疑进程PID top - 09:37:18 up 70 days, 16:29, 2 users, load average: 1.13, 1.04, 0.97 Tasks: 105 tot…
Java程序CPU使用率过高 通过top命令找到使用率过高的java进程PID 根据进程号查找线程TID:ps -mp PID -o THREAD,tid,time 将TID转换成16进制:printf "%x\n" TID 通过jstack命令查看进程栈信息:jstack PID |grep TID16 -A 100 注:jstack命令包含在oracle-jdk中 openjdk不包含此命令…
Linux下java进程CPU占用率高-分析方法 原文:http://itindex.net/detail/47420-linux-java-%E8%BF%9B%E7%A8%8B?utm_source=tuicool&utm_medium=referral 今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4%  mem:14.6% 一般解决方法是通过top命令找出消耗资源高…
用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用.目前只支持Linux.原因是Mac.Windows的ps命令不支持列出进程的线程id,更多信息参见#33,欢迎提供解法. PS,如何操作可以参见@bluedavy的<分布式Java应用>的[5.1.1 CPU消耗分析]一节,说得很详细: top命令找出消耗CPU高的Java进程及其线程id: 开启线程显示模式(top -H,或是打开top…
今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4%  mem:14.6% 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top 一下 可以看出java进程CPU利用率一直保持100%,稳居不下,找到PID 24138 2. 找出消耗资源最高的线程 top -H -p  29580 …
事件背景 公司对接了新系统,代码变动很大,项目也很急,于是在上线之后 Zabbix 不时就告警,提示 CPU 使用过载,告警消息类似如下: 一开始以为是系统停机升级,所有人都等着使用系统,导致系统处理压力增加的缘故,所以并没有太关注,但后来发现一直都在出这个问题,就觉得不对了.于是开始着手对问题开始处理. 排查问题 1. 由于是 CPU 使用率问题导致,所以可以先定位,到底是哪个服务导致,于是使用 top 命令查看: top 结果如下:(使用 shift + m 可以对通过内存使用排序,方便我们…
1. 通过 top 命令查看当前系统CPU使用情况,定位CPU使用率超过100%的进程ID:2. 通过 ps aux | grep PID 命令进一步确定具体的线程信息:3. 通过 ps -mp pid -o THREAD,tid,time 命令显示线程信息列表,然后找到耗时的线程ID:4. 通过 strace -p tid 查看这个线程所有系统调用情况,可能没有重要信息5. 将需要的线程ID转换为16进制格式:printf "%x\n" tid6. 最后找到线程堆栈信息:jstack…