linux杀java线程,如何在Linux下找出大量占用CPU的java线程
首先获取jvm的进程pid。
[biee02@bjkjy-bi-devbiee01 ~]$ jps -v
26048 Server -Xms256m -Xmx2048m -Dweblogic.Name=bi_server1 -Djava.security.policy=/home/biee02/oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/home/biee02/oracle/Middleware/Oracle_Home/user_projects/domains/bi/servers/bi_server1/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblo
得到pid为26048
然后使用top命令查看26048中的线程信息
[biee02@bjkjy-bi-devbiee01 ~]$ top -H -p 26048
可以看到线程id为26300的占用了大量的cpu。
将26300转化为16进制
[biee02@bjkjy-bi-devbiee01 ~]$ printf "%x \n" 26300
66bc
获取java虚拟机的Thread dump
[biee02@bjkjy-bi-devbiee01 ~]$ jcmd 26048 Thread.print > threaddump.txt
jcmd在jdk7及以上才可用
注:也可以使用jstack -l 26048 > threaddump.txt
在threaddump.txt中搜索nid=0x66bc,即是id为26300的线程dump信息。如下所示:
"[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" #99 daemon prio=5 os_prio=0 tid=0x00007f65514e4000 nid=0x66bc runnable [0x00007f647eeca000]
java.lang.Thread.State: RUNNABLE
at com.munzandmore.stuckthread.LongRunningEJB.threadCalc(LongRunningEJB.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
a
有了这个信息之后,就可以去查看LongRunningEJB.java第40行的源代码,从而定位问题。
linux杀java线程,如何在Linux下找出大量占用CPU的java线程相关推荐
- 【JVM性能调优】使用jstack找出最耗CPU的java线程
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体的代码,所以它在JVM性能调优中很常见.下面我们在找出某个java进程中最耗CPU的线程,并定位堆栈信息,使用到的命令有:ps.top.p ...
- linux查看图像大小_如何在Linux上调整一批图像的大小?
linux查看图像大小 Resizing images on Linux with gThumb is easy. However, I have a batch of images inside a ...
- 找出占用cpu最高的线程
ps -eo %cpu,pid |sort -n -k1 -r | head -n 1| awk '{print $2}'| xargs top -b -n1 -Hp | grep COMMAND ...
- 找出游戏的获胜者(java)
问题描述:(约瑟夫环) 样例输入: 代码如下:使用链表模拟法 import java.util.Scanner; public class FindTheWinner {//找出游戏的获胜者//1 & ...
- jpa,分析duid参数,当前用户的最大线程数,线上问题排查,stack命令查看占用CPU高的线程堆栈信息
1.先查看应用进程号: ps -ef | grep 应用名 ,也就是 pid 2.查看pid垃圾回收情况: jstat -gc pid 5000(时间间隔) 3.dump jvm二进制的内存详细使用情 ...
- disk在linux怎么使用教程,如何在 Linux 系统下使用 PhotoRec TestDisk
原标题:如何在 Linux 系统下使用 PhotoRec & TestDisk 同学们在日常工作与学习中难免会有错删文件的情况发生,如果这时有一个合适的工具和相关专业知识,就可以从电脑中恢复已 ...
- linux卸载欧朋浏览器,如何在Centos下安装opera浏览器
如何在Centos下安装opera浏览器 ,Opera目前是Linux平台上性能最优的浏览器,而且Opera中国团队本身即定位于Opera的研发中心,主要也是负责全球Linux平台项目的开发,这个版本 ...
- linux 线程迁移_迁移线程如何在Linux内核内部工作
linux 线程迁移 Abstract In computer systems, resources have to be balanced so that the performance will ...
- windows和linux通用的压缩,如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能?...
(如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能) 将大文件或目录打包.压缩并分割成制定大小的文件,这在将数据备份到容量有限的移动储存设备时是必须的 ...
最新文章
- Git 简介1-常用术语
- 使用elk+redis搭建nginx日志分析平台(引)
- 330+ 个机器学习模型/库探索工具!Papers With Code 重磅推出!
- COALESCE()、isnull()、nullif()函数的用法
- 关于bootstrap的modal弹出层嵌套子Modal所引发的血案(转)
- 瑞典卡罗林斯卡医学院博士后招聘,图像流行病学和深度学习领域
- SQL2008-显示表大小行数
- 代码格式化工具 Clang-format
- (传播智客)刘意Java基础班精华版
- win10下SVN图标不显示
- 【所见即所得】数据分析最有用的25个 Matplotlib图【附代码】
- 可靠性(reliability)弱点度量
- Salesforce学习 丨3张图搞懂SFDC认证考试体系及费用,看看30多个证你要怎么考
- 电站计算机培训计划,电站年度培训的工作总结范文
- 饭店计算机信息管理全章ppt,酒店信息质量管理.ppt
- 解决tensorboard无法访问此网站
- 【7月cocos学习笔记】
- Java笔试面试(社招版)
- 【Linux】Linux运维命令汇总单词表
- 面对这个缓慢、脆弱、健忘的互联网,IPFS协议势在必行!