最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据。 前段时间因为系统代码问题,造成性能到了天花板,于是就dump了一份stack出来进行分析。 看stack其实也需要一定的经验,毕竟它里面很多线程不可能都是有问题,所以,需要对他们有一定认识。...
分类:
编程语言 时间:
2014-12-12 13:00:10
阅读次数:
170
最近一直在上项目,导致博主天天加班幸福感爆棚,有木有。平时一直没有关注过JVM,最近上了一个新的项目,它对内存的需求量比较大,导致目前项目在用的JVM参数不能满足他的需求。起初还没发现是这方面问题,后来在启动的时候报错了,一报错不要紧,要紧就要紧在博主我要调整JVM..
分类:
Web程序 时间:
2014-12-11 16:03:09
阅读次数:
697
grep 'parking to wait for' gs2_jstack_141203.txt | uniq -c | sort -n查看哪个锁出现次数最多http://blog.csdn.net/happygongzhuo/article/details/6808982To display li...
分类:
其他好文 时间:
2014-12-04 11:57:31
阅读次数:
172
之前的随笔提到用jstack分析java线程情况,也是在这个项目中,当线程的问题解决之后,发现程序的内存一直增长,于是用jmap工具分析了一下java程序占用内存的情况。命令很简单,直接jmap -histo 22955 > jmap.info其中22955是java的pid,重定向到jmap.in...
分类:
编程语言 时间:
2014-12-03 18:37:37
阅读次数:
224
最近做项目时遇到了一个问题,我的多个采集线程中,有一个线程经常挂起,线程并没有死掉,但是一直采集不到数据,为了解决这个问题,用到了jstack。首先查找到java进程的pid,ps -ef|grep java然后输入jstack pid核心输出为:"MSG_RECEIVE_THREAD" prio=...
分类:
编程语言 时间:
2014-12-01 17:34:16
阅读次数:
733
项目加了些拦截器代码后,CPU报警,显示CPU使用率超过100%;
想要查找到底是哪些代码消耗的资源过多,从网上找到一篇博文,转载如下:
http://blog.csdn.net/guixunlong/article/details/8450897
在知道哪个Java进程CPU占用率过高以后:
1.使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈,例...
分类:
编程语言 时间:
2014-11-07 14:50:10
阅读次数:
231
1.使用top命令找出占用cpu最高的JAVA进程pid号
2. 找出占用cpu最高的线程:
top -Hp
pid -d 1 -n 1
3. 打印占CPU最高JAVA进程pid的堆栈信息
jstack pid > /tmp/stacktrace.log
4. 把占CPU最高线程号码换算成16进制到stacktrace.log中寻找对应线程16进制值找到线程代码。...
分类:
编程语言 时间:
2014-10-30 11:48:20
阅读次数:
169
Mark一下, 今天确实用这个方法找到了问题 http://www.iteye.com/topic/1114219 1. top找到目标进程,记下pid 2. top –p pid, 并用shift+h打开线程模式 这样可以看到这个进程中,到底哪个线程占用大量cpu 记下threadid,tid 3...
分类:
Web程序 时间:
2014-10-10 19:09:24
阅读次数:
145
基于Sun HotSpot JVM? ? 这里将介绍几款sun hotspot jvm 自带的监控工具: 请确保java_home/bin配置到path环境变量下,因为这些工具都在jdk的bin目录下 ? jps(JVM Process Status Tool):JVM机进程状况工具 用...
分类:
编程语言 时间:
2014-09-12 12:07:13
阅读次数:
410