摘要:是代表的主机第一个请求服务,使用线程池,生成一个多带带的线程来处理请请求。单个线程详细的数据查看线程的堆栈生成某个时刻的线程这些线程的来由一清二楚,很快就能定位问题所在。
VisualVM提供分析图形化监控线程的运行状态,有时候可能不是我们自己代码没写好造成资源的浪费,而是系统引入了很多第三方包(也包括容器)的时候,他们可能私自建立线程,如果逻辑处理不当,可能会造成资源的浪费。
以下均用Tomcat作为例子
实时显示线程的运行状态大概介绍下常用线程
其中运行的线程有Keep-Alive-Timer(Tomcat对Keep Alive的实现,用来保持长连接),该线程目前处于休眠状态。
RMI TCP Connection(36)-183.16.0.100 是代表183.16.0.100的主机第一个请求服务,RMI使用线程池,生成一个多带带的线程来处理请请求。目前是处于运行状态,因为我刚刚有请求服务器。
http-bio-80-exec-xx 代表Tomcat用的默认的bio来处理http请求, 当有请求来,这个线程就会从等待变成运行,这个可以考虑用性能更高的异步IO技术 server.xml
`
scheduler 这些是任务线程
统计各个线程运行历史数据可以查看线程工作的饱和度,感觉像是老板在看员工的工时一样的爽。
单个线程详细的数据 查看线程的堆栈生成某个时刻的线程Dump
这些线程的来由一清二楚,很快就能定位问题所在。
感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,你的鼓励是作者写作最大的动力,
如果您认为本文质量不错,读后觉得收获很大,不妨小额赞助我一下,让我更有动力继续写出高质量的文章。
支付宝
微信
作 者 : @mousycoder
原文出处 : http://mousycoder.com/2016/02...
创作时间:2016-2-15
更新时间:2016-2-15
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65475.html
摘要:快照,带线程命令,是显示全部进程,是显示线程,全格式输出显示进程树,不加显示所有实时快照推荐程度按数字从小到大。 有时候好好的程序放到生产服务器上一段时间后,就会发现服务器响应缓慢,进而进一步发现是cpu过高,于是就慌了,造成cpu过高的原因很多,不过大多是由于资源吃紧造成,例如:sql执行过慢,程序里存在死循环,数据库连接未释放,网络阻塞导致的第三方框架代码出现死循环,大量的操作导致...
摘要:并且分别给出了,线程的堆栈,就可以很快定位代码。避免无限期等待当一个线程必须等待另外一个线程的时候,最好加上一个等待时间。 运行了一段时间的程序,可能因为不小心的一些修改,造成死锁,本人就VisualVM简单的介绍下死锁的检测。 死锁程序 package jvisualVM; public class DeadLock { public static void main(S...
摘要:点击进入我的博客命令行工具这些工具大多数是类库的一层薄的包装,它们的主要功能代码是在类库中实现的。可视化工具是到目前为止随发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的虚拟机故障处理工具。 点击进入我的博客 3.1 JDK命令行工具 showImg(https://segmentfault.com/img/remote/14600000174...
摘要:垃圾回收监控和分析工具是在安装时免费提供的。监控现在可以监控垃圾回收过程了。至少我们可以知道程序中存在和对象内存分配和垃圾回收相关的问题。到此为止,关于垃圾回收的系列文章已经完结了。 本文非原创,翻译自Java Garbage Collection Monitoring and Analysis在Java中为对象分配和释放内存空间都是由垃圾回收线程自动执行完成的。和C语言不一样的是Ja...
阅读 3246·2021-09-22 15:58
阅读 1715·2019-08-30 14:17
阅读 1716·2019-08-28 18:05
阅读 1504·2019-08-26 13:33
阅读 683·2019-08-26 12:20
阅读 605·2019-08-26 12:18
阅读 3192·2019-08-26 11:59
阅读 1400·2019-08-26 10:36