1.使用top命令,找到java进程的PID,我这里找到的PID为16871。

2.找到该进程后,就要定位具体线程或代码,首先显示线程列表,并按照CPU占用高的线程排序:

ps -mp 16871 -o THREAD,tid,time | sort -rn

显示结果如下:

USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME

root     90.5  19    – –         –      –  9521 01:16:48

root     90.1  19    – –         –      –  9522 01:02:16

找到了耗时最高的线程9521,占用CPU时间有1个多小时了。

3.将需要的线程ID转换为16进制格式:

printf "%xn" 9521

2531

4.最后使用jvm命令打印线程的堆栈信息:

jstack 16871 |grep 2531 -A 30

这样就找到占用java,cpu资源的代码了,接下来还得分析代码执行的原因了。

-----------------------------------------------------

转载请注明来源此处

原地址:#

centos java进程号_centos中分析java占用大量CPU资源的原因相关推荐

  1. centos 6.4 java环境变量_CentOS中JAVA_HOME的环境变量设置

    http://blog.csdn.net/wind520/article/details/9308809 运行Java应用的时候,提示无法找到JAVA_HOME,查询java -version [ji ...

  2. 在 NetBeans IDE 6.0 中分析 Java 应用程序性能

    NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU ...

  3. 使用awk获得java进程号,获取进程号并赋值判断进程状态

    一. pgrep是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行.在服务器的配置和管理中,这个工具常被应用,简单明了. 用法: #pgrep [选项] [程序名] pgrep[-flv ...

  4. 利用java虚拟机的工具jmap分析java内存情况

    2019独角兽企业重金招聘Python工程师标准>>> 有时候碰到性能问题,比如一个java application出现out of memory,出现内存泄漏的情况,再去修改bug ...

  5. java jmap 分析_利用java虚拟机的工具jmap分析java内存情况

    有时候碰到性能问题,比如一个java application出现out of memory,出现内存泄漏的情况,再去修改bug可能会变得异常复杂,利用工具去分析整个java application 内 ...

  6. java break在switch_java中switch case语句需要加入break的原因解析

    java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...

  7. java 怎样 thread dump_怎样分析 JAVA 的 Thread Dumps

    展开全部 当有障碍,或者是一个基于 JAVA 的 WEB 应用运行的比预期32313133353236313431303231363533e58685e5aeb931333337623537慢的时候, ...

  8. jstack-查看Java进程的线程堆栈信息,锁定高消耗资源代码

    jstack主要用来查看某个Java进程内的线程堆栈信息.语法格式如下: jstack [option] pid jstack [option] executable core jstack [opt ...

  9. linux收缩java位置,找到linux中当前java的安装位置

    先看java -version $java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111 ...

  10. jdk只有一个java进程_JDK 10:从Java访问Java应用程序的进程ID

    jdk只有一个java进程 StackOverflow.com上一个普遍的问题是:" Java程序如何获得自己的进程ID? 与该问题相关的几个答案包括解析ManagementFactory返 ...

最新文章

  1. 常用地理数据平台及环境数据资源 (GIS)
  2. 删除文件session丢失
  3. 工作中常用到的Linux命令
  4. linux可以使用的远程管理,linux下可以使用以下()方法进行远程管理
  5. 软件测试笔试Linux题,linux基础面试题
  6. MySQL将一张表数据插入到另一张表
  7. solr4 mysql自动更新_solr7.4 定时增量更新数据-Go语言中文社区
  8. IE iframe不刷新的问题之完美解决
  9. iOS开发-OC语言 (七)继承、多态、类别
  10. C语言必背100代码,C语言必会100代码大全
  11. djangobook记录
  12. android手机怎么拍月亮,手机如何拍摄星空?2分钟教你如何拍出璀璨星空
  13. 19讲项目实战站内搜索页
  14. python爬不同图片分别保存在不同文件夹中的实现
  15. h5微信本地调试 vue_UniApp本地调试H5(谷歌chrome浏览器)跨域问题的解决方法,亲测可用...
  16. Bochs源码分析 - 16:conforming与non-conforming代码段区别以及Bochs代码的实现
  17. Hadoop平台关闭THP解决服务器高负载问题
  18. 薪酬管理助力国有企业数字化人力攻略布局
  19. 谷歌影像、天地图、30mDEM、土地覆盖数据...一个软件都可免费下载
  20. cygwin php5.6,cygwin-autoconf环境搭建

热门文章

  1. Jquery向页面append新元素之后,如何解决事件的绑定问题?
  2. Egret入门学习日记 --- 第九篇(书中 2.7~2.8节 内容)
  3. python中字符串方法总结
  4. FTP协议的命令与返回码
  5. 团队作业个人博客07
  6. 团队作业:《构建之法》团队学习心得
  7. mysql sql中的一些问题,Null与空字符
  8. Word2003和2007如何隐藏去掉回车符
  9. jQuery UI 拖动(Draggable) - 还原位置
  10. 单例设计模式(懒汉式,饿汉式)