小编Tom*_*rka的帖子

VisualVM - 线程状态

有人可以解释我的区别Sleeping,Wait,Park,和Monitor线程状态中的VisualVM.

在此输入图像描述

这是我发现的:

Running:线程仍在运行.
Sleeping:thread正在休眠(在线程对象上调用方法yield())
Wait:线程被互斥锁或屏障阻塞,并且正在等待另一个线程释放锁
Park:挂起的线程被暂停,直到它们被给予许可.取消停放线程通常是通过在线程对象上调用方法unpark()来完成的
Monitor:线程正在等待条件变为true以恢复执行

我无法理解的是州立公园,实际上是什么暂停线程?如何在代码中检测到什么使线程暂停执行?

有人可以在这方面指导我.

谢谢.

java jvm visualvm jvisualvm

72
推荐指数
2
解决办法
3万
查看次数

所有本地应用程序都"不支持此JVM"的VisualVM?

我已经花了很长时间来加载和测试我的应用程序,现在我需要对其进行分析.但不幸的是,VisualVM总是在我的本地应用程序上说"不支持这个JVM"?

应用程序在与VisualVM相同的JVM上启动.

java profiler visualvm

43
推荐指数
3
解决办法
3万
查看次数

visualvm历史图表

是否有可能在visual vm中设置内存,进程/ gc活动等图表在不降低x比例的情况下及时移动?当应用程序启动时,图形看起来不错,但是经过一段时间后,它们沿着x轴进行了严格的压缩,看到应用程序中实际发生了什么变得很麻烦.

java visualvm jvisualvm

6
推荐指数
1
解决办法
7585
查看次数

VisualVM,用于分析在Tomcat上运行的应用程序

我在本地运行的apache tomcat 7和作为.war文件部署到此服务器的Web应用程序.我正在尝试使用visualvm来分析应用程序,但到目前为止我只能分析tomcat本身.

我能够在界面中看到关于tomcat的所有内容,并且绝对没有问题.我能够看到独立的tomcat函数,这对我来说毫无意义.

我想看到的是我部署的Web应用程序的功能的执行时间,换句话说就是我自己的代码.但我无法做到这一点?有没有人设法做这个分析?我是否需要使用已部署的应用程序设置JMX连接?下面你可以找到我能够描述tomcat功能的屏幕.

我的VisualVM屏幕,我能够配置tomcat

java tomcat visualvm war

5
推荐指数
1
解决办法
4770
查看次数

无法在VisualVM中查看Visual GC

我在我的本地Windows机器上使用Java VisualVM来监视我的远程服务器(Linux).除了" Visual GC " 之外,我能够在Bisual VM中获取所有统计数据.它显示"此JVM不支持".我用谷歌搜索它,发现它可能是因为jstatd没有运行和连接.所以执行了" jstatd -J-Djava.security.policy =/tmp/tools.policy ".它显示了一个ip" 175.41.139.225 ".我无法理解为什么它试图连接到这个IP.它不是我的远程机器的ip,也不是我的本地机器的ip.

[root@shipping_pt mail]# jstatd -J-Djava.security.policy=/tmp/tools.policy
Could not contact registry
Connection refused to host: 175.41.139.225; nested exception is:
        java.net.ConnectException: Connection refused
java.rmi.ConnectException: Connection refused to host: 175.41.139.225; nested exception is:
        java.net.ConnectException: Connection refused
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
        at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
        at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
        at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:340)
        at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
        at java.rmi.Naming.rebind(Naming.java:177)
        at sun.tools.jstatd.Jstatd.bind(Jstatd.java:57)
        at sun.tools.jstatd.Jstatd.bind(Jstatd.java:66)
        at sun.tools.jstatd.Jstatd.main(Jstatd.java:143)
Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
        at …
Run Code Online (Sandbox Code Playgroud)

java linux profiler visualvm

4
推荐指数
3
解决办法
2万
查看次数

标签 统计

java ×5

visualvm ×5

jvisualvm ×2

profiler ×2

jvm ×1

linux ×1

tomcat ×1

war ×1