JAVA应用程序占用CPU、内存过高分析过程
1.查看cpu占有率
top -P

2.查看进程cpu占用率
ps -mp 3749 -o THREAD,tid,time|sort -rn|head -n 20
查看占用cpu高,且占用时间长的线程

$.线程ID转换为16进制格式
printf "%x\n" tid

3.查看java堆栈信息
su - nobody -c "/usr/java/jdk1.6.0_21/bin/jstack 3749|grep 34d8 -A 30" 34d8替换成上面转换的16进制
注意:这里要使用程序启动的用户执行此命令
使用root会提示:
Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding

4.分析结果
请开发协助分析结果...
参考链接
http://www.jianshu.com/p/5f14386a1fe3
http://dbaplus.cn/news-21-130-1.html
http://www.blogjava.net/hankchen/archive/2012/05/09/377735.html
JAVA应用程序占用CPU、内存过高分析过程的更多相关文章
- java进程占用CPU资源过高分析脚本
#!/bin/bash #输入占用CPU较高的进程号 pid=$ if [ -z $pid ] then echo "PID is NULL" exit fi #找到该进程中占用较 ...
- linux下分析java程序占用CPU、内存过高
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...
- 为什么Java程序占用的内存比实际分配给它的要多
很多人错误的认为运行Java程序时使用-Xmx和-Xms参数指定的就是程序将会占用的内存,但是这实际上只是Java堆对象将会占用的内存.堆只是影响Java程序占用内存数量的一个因素.要更好的理解你的J ...
- Linux下java进程CPU占用率高分析方法
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
- java:找出占用CPU资源最多的那个线程(HOW TO)
在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资 ...
- java:找出占用CPU资源最多的那个线程
linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 1.先用top命令找出占用资源厉害的java进程id,如: 2 ...
- Linux下java进程CPU占用率高分析方法(一)
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
- Shell----监控CPU/内存/负载高时的进程
Shell----监控CPU/内存/负载高时的进程 1.编写脚本 vim cpu-warning.sh #!/bin/bash #监控系统cpu的情况脚本程序 #取当前空闲cpu百份比值(只取整数部分 ...
- c/C++编译的程序占用的内存分为以下几个部分
首先要搞清楚编译程序占用的内存的分区形式:一.预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1.栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等 ...
随机推荐
- 非常适用的Sourceinsight插件,提高效率事半功倍
一直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直 使用该工具做C/C++开发,sourceinsight能够满 ...
- Theos 工程
一.tweak 工程 1.创建步骤 a) terminal cd 到想要存放项目的目录下 b) 按图步骤完成即可 二.工程文件描述 1.control 记录 deb 包管理系统所需的基本信息. 2.a ...
- Chrome 中的 JavaScript 断点设置和调试技巧
Console:此功能是模拟js控制台,直接写代码,查看结果.高级功能使用时开启断点,查看变量的变化过程.还可以条用函数. Resources:次功能是查看加载页面所用的资源,链接的数据库,域名下保存 ...
- 详解一个自己原创的正则匹配IP的表达式
这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...
- Spring MVC配置
web配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="ht ...
- java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer
今天做springmvc+mybatis+spring的项目的时候发现了一个异常.如下: org.apache.ibatis.builder.IncompleteElementException: C ...
- 【原创】JMeter学习(三十七)Jmeter录制手机app脚本
环境准备: 1.手机 2.wifi 3.Jmeter 具体步骤: 1.启动Jmeter: 2.“测试计划”中添加“线程组”: 3.“工作台”中添加“HTTP代理服务器”: 4.配置代理服务器:Gl ...
- vs2010/2013项目的C++所在文件夹越来越大如何解决?
vs2010/2013项目所在文件夹越来越大如何解决? Tools->Options->Text Editor->C/C++->Advanced,在 Fallback Loca ...
- iOS 如何在Label中显示html的文本
if (self.messageModel) { NSString * htmlString = self.messageModel.contentText; NSAttributedString * ...
- 使用JFinal的第一个项目出现的问题(The return type is incompatible with JspSourceDependent.getDependants())
四月 08, 2016 4:35:34 下午 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() fo ...