【深入浅出-VisualVM】(5): 分析线程

栏目: Java · 发布时间: 5年前

内容简介:VisualVM提供分析图形化监控线程的运行状态,有时候可能不是我们自己代码没写好造成资源的浪费,而是系统引入了很多第三方包(也包括容器)的时候,他们可能私自建立线程,如果逻辑处理不当,可能会造成资源的浪费。以下均用Tomcat作为例子

VisualVM提供分析图形化监控线程的运行状态,有时候可能不是我们自己代码没写好造成资源的浪费,而是系统引入了很多第三方包(也包括容器)的时候,他们可能私自建立线程,如果逻辑处理不当,可能会造成资源的浪费。

以下均用Tomcat作为例子

实时显示线程的运行状态

【深入浅出-VisualVM】(5): 分析线程

大概介绍下常用线程

  • 其中运行的线程有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

<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
    URIEncoding="UTF-8"
    useBodyEncodingForURI="true"
    enableLookups="false"
    redirectPort="8443" />`
  • scheduler 这些是任务线程

统计各个线程运行历史数据

【深入浅出-VisualVM】(5): 分析线程

可以查看线程工作的饱和度,感觉像是老板在看员工的工时一样的爽。

单个线程详细的数据

【深入浅出-VisualVM】(5): 分析线程

【深入浅出-VisualVM】(5): 分析线程

查看线程的堆栈

生成某个时刻的线程Dump

【深入浅出-VisualVM】(5): 分析线程

这些线程的来由一清二楚,很快就能定位问题所在。


以上所述就是小编给大家介绍的《【深入浅出-VisualVM】(5): 分析线程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Web Application Hacker's Handbook

The Web Application Hacker's Handbook

Dafydd Stuttard、Marcus Pinto / Wiley / 2011-9-27 / USD 50.00

The highly successful security book returns with a new edition, completely updated Web applications are the front door to most organizations, exposing them to attacks that may disclose personal infor......一起来看看 《The Web Application Hacker's Handbook》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具