Where did jvisualvm go?
我正在运行Mac OSX Snow Leopard。
我一直使用Mac OSX的常规软件更新功能来更新Java。
我过去使用Java jvisualvm工具取得了巨大的成功。
今天早上,我像往常一样在命令行中键入jvisualvm。 我收到以下错误:
1 2
| $ jvisualvm
Unable to locate an executable at"/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/jvisualvm" (-1) |
所有其他Java工具(java,javac,jps等)都可以正常工作。
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin确实不包含jvisualvm(突然)。
/usr/libexec/java_home产生:
1 2
| $ /usr /libexec /java_home
/System/Library /Java /JavaVirtualMachines /1.6.0. jdk/Contents /Home |
WTF?
-
尝试/System/Library/Frameworks/JavaVM.framework/Versions/A/Common nds / jvisualvm
-
没有骰子:`/System/Library/Frameworks/JavaVM.framework/Versions/A/Common s / jvisualvm无法在" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin"中找到可执行文件 / jvisualvm"(-1)`
-
@LairdNelson同样在这里:(这很奇怪。我手动下载了VisualVM,它可以正常工作。例如,它没有连接到任何要配置的应用程序。
-
您知道我有类似的问题。 我认为根本原因是某些VisualVM,但在OS X 10.8.3 + JDK7上。 VisualVM启动,但在我的月食PID上抱怨"附加:task_for_pid(330)失败(5)"。 如果删除eclipse并重试,它将成功在Local上找到正在运行的Java进程。
似乎是链接的混合; / usr / bin / jvisualvm符号链接指向不存在的内容(如上文所述)。显然,jvisualvm可执行文件(存根)存在,并且现在解决此问题的方法是执行:
1 2 3
| cd /System/Library /Java /JavaVirtualMachines /1.6.0. jdk/Contents /Home /bin
sudo ln -s /System/Library /Java /Support /VisualVM. bundle/Contents /Home /bin /jvisualvm . |
这需要sudo特权并创建缺少的符号链接,指向VisualVM软件包。不知道为什么会发生,但是升级到最新的XCode 4.5.2并不能自动为我解决。我正在运行MacOS X 10.7.5和Java 1.6.0_37
-
感谢您的输入;不适,请尽快尝试一下,如果可以的话,给您答案。
-
此方法不再有效(至少在Mountain Lion中)。见stackoverflow.com/a/13690431/1395668
-
请考虑将接受的答案更改为指示读者下载JVisualVM dmg的答案。
-
Mac Sierra 10.12.1中的路径为:/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/ Home / bin / jvisualvm
似乎支持包已在更新时删除。
https://discussions.apple.com/thread/4474992?start=0&tstart=0
下载捆绑软件以作为解决方法。
http://visualvm.java.net/download.html
编辑:
使用此下载链接:https://java.net/projects/visualvm/downloads/download/release132/VisualVM_132.d??mg
-
最新的.dmg软件包(1.3.7)似乎不适用于OSX 10.9.1上的最新库存Java-6。它抱怨:LSOpenURLsWithRole() failed with error -10810 for the file ApplicationsVisualVM.app
-
回答自己:1.3.5版仍然适用于Mavericks。从https://java.net/projects/visualvm/downloads/download/releas e132 / VisualVM_132.dm g下载并运行更新以下载最新的引擎。
我下载了visualvm(来自java.net的.dmg),在我的Mountain Lion上适用于我。
-
实际上,Virtualvm比jconsole更具视觉吸引力,并且如果您要进行性能分析,它可以提供更多功能。
对于JDK 9用户
Starting with JDK 9, Visual VM will not be included with Oracle JDK. Developers who would like to use Visual VM with Oracle JDK 9 or later can get it from the Visual VM open source project site.
如果您已经在使用NetBeans,则另一个解决方法是使用其Profiler。在7.3版中:
我只能在我的山狮MBP上运行JVisualVM的.app版本
1
| open /usr/share/java/Tools/Java\\ VisualVM.app |
-
您能为为什么添加一些解释吗?
-
这对我也不起作用;尝试打开它只是短暂地启动...实际上没有启动任何东西。调查基础jvisualvm符号链接,我发现它指向相同的失败位置:s -al usrsharejavaToolsJava\\ VisualVM.appContentsMacOSjvisualvm lrwxr-xr-x 1 root wheel 97 Aug 2 2010 usrsharejavaToolsJava VisualVM.appContentsMacOSjvisualvm -> SystemLibraryFrameworksJavaVM.frameworkResourcesVisual VM.bundleContentsH omebinjvisualvm
-
我不确定为什么,我猜苹果的某个人对所有链接感到困惑,并删除了一些内容。
-
@Laird,我的.app文件看上去与众不同:ls usrsharejavaToolsJava\\ VisualVM.appContentsMacOS JavaApplicationStub,但是跟随点将我引向该可执行文件,该文件再次从命令行为我工作。 SystemLibraryJavaSupportVisualVM.bundleContentsHomeb injvisualvm作为记录java -version java version"1.6.0_37"
-
WFM。在找到答案之前,我在Apple开发人员网站(bit.ly/T0689b)上找到了一个手册页,上面说jvisualvm是Xcode命令行工具的一部分,因此我启动了Xcode并更新了命令行工具(首选项) ->下载->命令行工具->更新)。也许这是必需的吗?
macOS Mojave中JDK 1.8的Visual VM二进制路径为
1
| /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/jvisualvm |
基本上,
1
| /Library/Java/JavaVirtualMachines/<JDK_DIR>/Contents/Home/bin/jvisualvm |
VisualVM也可以作为独立应用程序使用。您可以从安装
https://visualvm.github.io/download.html
-
尽管此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。
有时很简单...您需要通过安装Visualvm
1
| sudo apt-get install visualvm |
要查找文件,请使用
-
Argh,对不起,我以某种方式忽略了他使用的是Mac。 > _ <
-
还请注意,该程序通常已经与JDK一起安装。