JVM相关
jueshengtianya
这个作者很懒,什么都没留下…
展开
-
jstack分析cpu占用100%
问题:使用jstack来分析cpu占用100%。过程分析:1. 运行测试程序后,top命令发现某个进程(pid)占用cpu达到100%。2. 查看哪个线程占用最多资源:ps mp 24018 -o THREAD,tid; (命令查看这个进程下面的所有线程占用情况)2. 然后用jstack输出堆栈信息:jstack pid 进行查看输出到临时文件原创 2015-11-11 17:52:48 · 3112 阅读 · 0 评论 -
Java线程Dump分析工具--jstack
参考:http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html转载 2016-03-04 11:27:04 · 2486 阅读 · 0 评论 -
使用jstack 发现死锁
参考:http://blog.chinaunix.net/uid-20104447-id-4075333.html1. 据java的sdk说明,当调用一个线程的stop时(暂时不管该不该使用该方法),线程会立即退出,但是下面的却没有,是什么原因呢?package java_jni;public class Main { public static void main(Stri转载 2016-03-06 15:07:21 · 997 阅读 · 0 评论 -
cpu负载过高案例,解决方法记录
http://wukongdiary.com/index.php/archives/137/转载 2016-03-06 16:26:01 · 3806 阅读 · 0 评论 -
使用Java VisualVM监控远程JVM
参考:http://blog.163.com/liuyb_94242/blog/static/42167646201210131156174/我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具.这个工具就在JAVA转载 2016-03-10 18:02:32 · 373 阅读 · 0 评论 -
一次应用OOM排查
参考:http://ifeve.com/one-java-oom/前段时间系统经常出现OOM,每次出现之后系统会出现各种问题,临时解决方案只能是重启,然后等找到问题后再发布解决。线上问题日志如下:1Exception in thread "msgWorkTP-811568603-1-thread-6" java.lang.Ou转载 2016-04-08 13:24:00 · 586 阅读 · 0 评论 -
由多线程内存溢出产生的实战分析
参考:http://blog.csdn.net/u013970991/article/details/52035153转载 2016-07-28 16:33:14 · 661 阅读 · 0 评论 -
JVM GC一次调优实战
参考:http://my.oschina.net/serverx/blog/693628#navbar-header转载 2016-06-23 15:00:43 · 355 阅读 · 0 评论 -
Java 性能优化系列之3.2[JVM调优] --- JIT即时编译
参考:http://blog.csdn.net/oscar999/article/details/47271531 http://taogebx.iteye.com/blog/976654分析:在系统启动的时候,首先Java代码是解释执行的,当方法调用次数到达一定得阈值的时候(client:1500,server:10000),会采用JIT优化编译,此时JIT会增加原创 2016-11-08 10:27:57 · 1186 阅读 · 0 评论 -
JVM的GC简介和实例
参考:http://www.searchtb.com/2013/07/jvm-gc-introduction-examples.html转载 2016-01-29 19:56:53 · 344 阅读 · 0 评论 -
fullgc一小时发生一次的原因
问题:之前在线上遇到过一个问题,每一小时都会执行fullgc,但是此时的堆内存大小是足够的。分析:当前我的tomcat的版本是6.0.35,此时tomcat有这样的配置:6.0.35的org.apache.catalina.core.JreMemoryLeakPreventionListener的261行有如下代码if (gcDaemonProtection) {原创 2016-01-11 14:27:45 · 3087 阅读 · 1 评论 -
JVM博客
一. 转载几篇不错的JVM相关博客 1. http://my.oschina.net/goldwave/blog/1685162. http://www.ibm.com/developerworks/cn/java/j-lo-jvm-optimize-experience/index.html原创 2015-11-11 20:56:00 · 406 阅读 · 0 评论 -
并发环境下HashMap引起的full gc排查
参考:http://ifeve.com/case-of-hashmap-in-concurrency/ http://ifeve.com/hashmap-infinite-loop/转载 2015-12-15 13:20:16 · 672 阅读 · 0 评论 -
发布或重启线上服务时抖动问题解决方案
参考:http://www.cnblogs.com/LBSer/p/3703967.html一、问题描述 在发布或重启某线上某服务时(jetty8作为服务器),常常发现有些机器的load会飙到非常高(高达70),并持续较长一段时间(5分钟)后回落(图1),与此同时响应时间曲线(图2)也与load曲线一致。注:load飙高的初始时刻是应用服务端口打开,流量打入时(l转载 2015-12-31 16:58:21 · 923 阅读 · 0 评论 -
JVM命令帮助
jstack:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html jstat :http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html jmap:http://docs.oracle.com/javase/7/docs原创 2016-01-20 11:41:14 · 391 阅读 · 0 评论 -
Mat工具规范
1. with incoming references:标识当前对象都被谁引用了。2. with outGoing references:标识当前对象都引用了谁。3. Path To GC Roots:查找引用树。原创 2016-01-20 20:44:15 · 442 阅读 · 0 评论 -
Tomcat7.0.26的连接数控制bug的问题排查
参考:http://ifeve.com/tomcat7-0-26-connect-bug/首先感谢@烈元一起排查此问题。今天发现线上一台机器,监控一直在告警,一看是健康检查不通过,就上去查看了下,首先自己curl了下应用的url,果然是超时没有响应,那就开始按顺序排查了:1、 load非常低,2、gc也正常,3、线程上也没死锁,4、日志一切正常。那是什么情况呢,不能忘记网络啊。转载 2016-01-08 19:23:17 · 641 阅读 · 0 评论 -
线上性能问题初步排查方法
参考:http://ifeve.com/find-bug-online/引言有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程,本文只是简单的介绍一些常用的工具,帮助定位线上问题。问题定位1: 首先使用TOP命令查看每个进程的情况,显示如下:top - 22:27:25 u转载 2016-01-08 19:24:09 · 356 阅读 · 0 评论 -
诊断Java中的内存泄露
每次我怀疑有内存泄漏时,我都要翻箱倒柜找这些命令。所以,这里总结一下以备后用:首先,我用下面的命令监视进程:1while( sleep 1) ; dops -p $PID -o %cpu,%mem,rss ; done转载 2015-12-07 14:02:28 · 338 阅读 · 0 评论 -
ThreadPoolExecutor使用错误导致死锁
今天看了一篇文章觉得不错:http://www.jianshu.com/p/f343782f19fc操作:1. jstack -l 1951 > jstack.vm2. java -jar stackAnalysis.jar -f jstack.vm转载 2017-02-28 17:42:11 · 1829 阅读 · 0 评论