查看tomcat项目中,具体占用cpu高的线程。
1、查看主进程占用cpu高:
此处主进程:27823
[root@storage- ~]# top
top - :0: up days, :, 3 users, load average: 13.12, 13.31, 13.23
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s):100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root .527g S 783.3 20.0 : java
root R 16.7 0.0 :00.01 top
root S 0.0 0.1 :29.91 systemd
root S 0.0 0.0 :03.18 kthreadd
root S 0.0 0.0 :31.90 ksoftirqd/
2、按照线程占用cpu由高到低进行排查:
通过主进程查看所有的线程,此处只列出了一部分线程TID为线程号,THREAD为线程的各项内容
[root@storage- ~]# ps -mp -o THREAD,tid,time | sort -rn |head -6
USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
storage+ 38.3 - - - - -::
storage+ 38.3 - - - - -::
storage+ 38.3 - - - - -::
storage+ - - - - - - -::
storage+ 12.1 - futex_ - - ::
找到线程占用高的线程id (tid) 例如:28296 28273 28241 各占用30%多
将线程号转化为16进制:
[root@zz-p-storagesdk-api01 ~]# printf "%x\n"
6e88
[root@storage- service]# printf "%x\n"
6e71
[root@storage- service]# printf "%x\n"
6e51
通过主进程好搜索所有的线程执行的内容,
注意:必须使用项目运行的用户,以及使用的jdk版本下的jstack去查看
[root@zz-p-storagesdk-api01 ~]# sudo -u root /usr/local/jdk1.8/bin/jstack 27823 |grep 6e88 -A 30
[root@zz-p-storagesdk-api01 ~]# sudo -u root /usr/local/jdk1.8/bin/jstack 27823 |grep 6e71 -A 30
[root@zz-p-storagesdk-api01 ~]# sudo -u root /usr/local/jdk1.8/bin/jstack 27823 |grep 6e51 -A 30
查看tomcat项目中,具体占用cpu高的线程。的更多相关文章
- 查看JAVA占用CPU高的线程日志
# . 查看主进程占用cpu高 top # java # . 按照线程占用cpu由高到低进行排查: -o THREAD,tid, # USER %CPU PRI SCNT WCHAN USER SYS ...
- Linux中找到占用cpu最高的线程
在工作中,经常会碰到CPU占用100%的情况,那如何找到是那个线程占用了cpu呢? 1. top命令,找到cpu占用最高的进程 2. 查看该进程的线程, top -p <pid> 3. ...
- 查看进程中占cpu高的线程方法
当在任务管理器中发现有进程占用cpu过高的时候通过下面的指令将进程快照导出到c盘 jstack -l 进程PID > c:/进程PID.stack (此命令生成.stack文件在c盘中,用文本 ...
- 定位java程序中占用cpu最高的线程堆栈信息
找出占用cpu最高的线程堆栈信息 在java编码中,有时会因为粗心导致cpu占用较高的情况,为了避免影响程序的正常运行,需要找到问题并解决.这里模拟一个cpu占用较高的场景,并尝试定位到代码行. 示例 ...
- 关于csrss.exe和winlogon.exe进程多、占用CPU高的解决办法,有人在暴力破解
关于csrss.exe和winlogon.exe进程多.占用CPU高的解决办法 最近VPS的CPU一直处在100%左右,后台管理上去经常打不开,后来发现上远程都要好半天才反映过来,看到任务管理器有多个 ...
- TortoiseSVN status cache占用CPU高
进程占用CPU高 每次从SVN上更新资源时,电脑都会卡死,直到资源更新完.当要Commit资源时,SVN也会卡死资源管理器,如下图所示: 解决占用CPU高的问题 1.禁用图标缓存 2.排除路径和包含路 ...
- 关于csrss.exe和winlogon.exe进程多、占用CPU高的解决办法
原地址 http://blog.sina.com.cn/s/blog_912e77480101nuif.html 最近VPS的CPU一直处在100%左右,后台管理上去经常打不开,后来发现上远程都要 ...
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea ...
- 定位现网环境中最耗费CPU的Java线程
参考:JVM性能调优监控工具jps.jstack.jmap.jhat.jstat.hprof使用详解 下面通过一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps. ...
随机推荐
- Spring读取外部的资源配置文件—@PropertySource和@Value实现资源文件配置
通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值: @PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,标识在@ ...
- Jquery 跨域访问 Lightswitch OData Service
修改lightswitch .server project web.config.添加如下内容就可以实现对ApplicationData.svc/跨域访问 <system.webServer&g ...
- 模块,import,from xxx import xxx
一,模块 模块就是一个包含了python定义和声明的文件,文件名就是模块的名字加上.py后缀,总体来说,import加载的模块一共分成四个通用的类别: 1,使用python编写的py文件 2,已被变异 ...
- 【转】java String.split()函数的用法分析
在java.lang包中有String.split()方法的原型是: public String[] split(String regex, int limit) split函数是用于使用特定的切 ...
- .Net实现微信公众平台开发接口(一) 之 “微信开发配置”
我们只要通过微信官方认证,成为开发者,才能实现微信提供的各种接口,否则即使调用了接口,微信也不会实现推送,功能也无法通过开发模式真正得到实现,所以需要正确配置微信信息,通过微信官方认证,成为开发者才可 ...
- 无法初始化 PowerShell 主机解决方案
Question无法初始化 PowerShell 主机.如果您的 PowerShell 执行策略设置设为 AllSigned,请先打开程序包管理器控制台以初始化该主机. --------------- ...
- java中import static和import的区别【转】
转自:http://blog.csdn.net/ygc87/article/details/7371254
- 【RabbitMQ】7、RabbitMQ主备复制是异步还是同步?
转自:https://yq.aliyun.com/articles/73040?spm=5176.100240.searchblog.116.RcXYdl 我们知道RabbitMQ可以配置成Queue ...
- JS调用模式
在js中,一共4中调用方式.需要注意的是,调用方式中,this的指向问题. 函数调用模式 this丢失,debug会提示未定义相应属性.按照规范,需要将this赋值给that let myObj = ...
- js 将内容复制到剪切板上
clipboard是将内容复制到电脑的剪切板上,要引入clipboard.js //将'data-clipboard-text' 样式添加到指定的元素上 $("#effects") ...