VisualVM、Scala 和 Ubuntu?
Posted
技术标签:
【中文标题】VisualVM、Scala 和 Ubuntu?【英文标题】:VisualVM, Scala and Ubuntu? 【发布时间】:2011-12-11 17:47:58 【问题描述】:我在 Ubuntu 11.10(64 位)下使用 VisualVM 时遇到问题。我正在使用最新的 Java 1.6 版本 (1.6.0_29-b11) 和 Scala 2.9.1。
VisualVM 没有在 Monitor 的选项卡中显示 CPU 使用情况(说:此 JVM 不支持。),缺少 Threads 选项卡,我无法使用 Sampler 或 Profiler。实际上我可以点击 CPU Profiling 但没有任何反应。
在 Windows 7 下一切正常!
在 VisualVM 日志中,我多次发现此异常:
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
有人有想法吗?
【问题讨论】:
我从未在 Linux 下遇到过 VisualVM 和 Scala 的问题。但我不确定你的确切配置。 显然 visualVM 无法连接到该 JVM。尝试使用您仍然可以在 java/bin 文件夹中找到的旧版 jconsole,看看它是否可以连接。 我在 CPU 密集型应用程序上看到过这种情况,但运行几次后它就可以工作了。您使用的是 open JDK 还是 Oracle java? @dimitrisli 没有成功。 JConsole 说它无法连接到我的应用程序。 如果我尝试调试我的代码,Jconsole 和 visualvm 都无法连接到 JVM。但是如果我没有在调试模式下运行我的代码,它们可以很容易地与 JVM 连接。请注意我有 centos,我用 sudo 运行我的程序和内存分析器 【参考方案1】:我经常发送与权限相关的此类内容。确保您拥有正确的权限和/或以与 JVM 相同的用户身份运行。
【讨论】:
我正在使用同一个用户运行应用程序和 VisualVM。我现在尝试以super user
的身份运行,并且 工作 - 有点奇怪,只有我的应用程序需要这个。我可以毫无问题地连接到任何其他应用程序(例如 IntelliJ)。但我的似乎在使用 VisualVM 时需要超级用户权限,尽管通常它在 normal 权限下运行得非常好。那为什么会这样呢?
调试端口有哪些?普通用户不允许打开1024以下的端口。
我正在使用超级用户运行 IntelliJ 和 visualvm,以防我不调试。但是如果我在 IntelliJ 中调试我的代码,我会收到上述错误。这对我来说很奇怪,为什么会发生这种情况,尽管 Sudo 运行的应用程序具有相同的访问级别。以上是关于VisualVM、Scala 和 Ubuntu?的主要内容,如果未能解决你的问题,请参考以下文章