博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA进程 Linux CPU占用率分析方法
阅读量:6113 次
发布时间:2019-06-21

本文共 897 字,大约阅读时间需要 2 分钟。

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

你可能感兴趣的文章
Chrome浏览器播放HTML5音频没声音的解决方案
查看>>
easyui datagrid 行编辑功能
查看>>
类,对象与实例变量
查看>>
HDU 2818 (矢量并查集)
查看>>
【转】php字符串加密解密
查看>>
22. linux 常用命令
查看>>
ASP.Net 使用GridView模板删除一行的用法
查看>>
(十六)字段表集合
查看>>
JPGraph
查看>>
实验二 Java面向对象程序设计
查看>>
------__________________________9余数定理-__________ 1163______________
查看>>
webapp返回上一页 处理
查看>>
新安装的WAMP中phpmyadmin的密码问题
查看>>
20172303 2017-2018-2 《程序设计与数据结构》第5周学习总结
查看>>
eclipse中将一个项目作为library导入另一个项目中
查看>>
Go语言学习(五)----- 数组
查看>>
Android源码学习之观察者模式应用
查看>>
Content Provider的权限
查看>>
416. Partition Equal Subset Sum
查看>>
centos7.0 64位系统安装 nginx
查看>>