当前位置: 首页 > news >正文

JAVA进程 Linux CPU占用率分析方法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1:  首先把JDK Linux版本上传到服务器上.
2:  使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈.
3: 使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高. 比如:

top - 17:23:50 up 12 days,  1:44,  8 users,  load average: 4.85, 3.56, 3.76
Tasks: 556 total,   1 running, 555 sleeping,   0 stopped,   0 zombie
Cpu(s):  7.4%us,  4.4%sy,  0.4%ni, 71.6%id, 15.5%wa,  0.0%hi,  0.6%si,  0.0%st
Mem:     32072M total,    31972M used,      100M free,      265M buffers
Swap:     2047M total,       81M used,     1965M free,    23734M cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
17363 webserve  20   0 4475m 2.9g  10m R   54  9.4 163:29.84 java
16452 webserve  20   0 4475m 2.9g  10m S    6  9.4   6:03.00 java
11283 webserve  20   0 4475m 2.9g  10m S    2  9.4   7:21.35 java
11284 webserve  20   0 4475m 2.9g  10m S    2  9.4   7:21.41 java
11285 webserve  20   0 4475m 2.9g  10m S    2  9.4   7:20.89 java


比如上面信息就可以看到 17363 线程CPU使用较高, 把这个值转换为 16 进制, 然后在第2步打印的
线程栈中进行搜索, 就可以知道这个线程栈是做什么的了.

转载于:https://my.oschina.net/henrydong/blog/164508

相关文章:

  • android或Linux捕获底层按键信息
  • 关于程序员成长的一点思考
  • Backtrack 命令解析(information gathering)
  • shell 常用的判断条件
  • Windows Live Writer 2012 下载及安装说明
  • HttpModule与HttpHandler详解
  • SQL server经典电子书、工具和视频教程汇总
  • oracle 锁 分析
  • loj 1002(spfa变形)
  • ***检测工具之RKHunter AIDE
  • SCCM2012SP1---安装客户端代理软件
  • spring学习之bean scope
  • Uniscribe相关文章
  • FireEye:数字面包屑——识别APT***来源的7大线索
  • 通过Keepalived实现Redis Failover自动故障切换功能[实践分享] =转载
  • C++类中的特殊成员函数
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • ECMAScript6(0):ES6简明参考手册
  • GraphQL学习过程应该是这样的
  • isset在php5.6-和php7.0+的一些差异
  • Java 多线程编程之:notify 和 wait 用法
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Javascript编码规范
  • Java应用性能调优
  • nodejs:开发并发布一个nodejs包
  • Python_网络编程
  • Spring Cloud中负载均衡器概览
  • webpack入门学习手记(二)
  • 创建一个Struts2项目maven 方式
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 关于List、List?、ListObject的区别
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 三栏布局总结
  • 首页查询功能的一次实现过程
  • 思维导图—你不知道的JavaScript中卷
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • Spring Batch JSON 支持
  • ###STL(标准模板库)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • ${factoryList }后面有空格不影响
  • (02)vite环境变量配置
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .net中我喜欢的两种验证码