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?的主要内容,如果未能解决你的问题,请参考以下文章

VisualVM 中的“总加载”是啥意思?

是否可以使用某些应用程序立即启动 VisualVM?

Java VisualVM CPU 使用率和处理器亲和性

假期学习配置Scala环境(Ubuntu)以及配套Scala编程实验

ubuntu下如何删除卸载scala-2.9.2?

sh ubuntu 14.04安装scala 2.11.7和sbt 13.9以及java 8和git