当前位置: 首页 > 面试题库 >

为什么VisualVM Profiler不会分析我的应用程序?

晏弘雅
2023-03-14
问题内容

我创建了一个简单的1文件Java应用程序,该应用程序循环遍历,调用某些函数,分配一些内存,添加一些数字等。我通过eclipse的运行该应用程序Run As->Java Application

正在运行的应用程序显示在Java VisualVM下的Local

我双击该应用程序,然后转到Profiler选项卡。

默认设置为:

Start profiling from classes: my.main.package.**

Do not profile classes: java.*, javax.*, sun.*, sunw.*, com.sun.*

我点击CPU。的CPUMemory按钮变灰。没发生什么事。

Statusprofiling inactive

当我的应用终止时,Statussays application terminated

我在这里做错了什么?我需要调整一些设置吗?启动应用程序时是否需要设置VM标志?


问题答案:

我猜这个问题与从Eclipse内部启动应用程序有关,这是因为JVisualVM希望在java.io.tmpdir目录中找到数据(通常C:\Users\[your username]\AppData\Local\Temp\hsperfdata_[your username]在Windows系统上)。

假设 不是将数据放在JPS,JVisualVM等期望的正常位置,而是将数据放在它自己的临时文件夹中?

如果是这样,请尝试使用调用JVisualVM jvisualvm -J-Djava.io.tmpdir=[Eclipse's temp directory]来明确告诉它该数据在哪里。

如果找不到该hsperfdata_$USER文件夹,请尝试以通常的命令行Java方式在Eclipse外部运行应用程序。

另请注意,在1.6.0_23左右引入了一个影响temp文件夹(区分大小写)的错误,因此也许您会因为更新到更新的Java 6(或7)构建而受益?



 类似资料:
  • 我的代码使用readTextFile读取日志文件,当我在Flink(< code >/opt/Flink-1 . 0 . 3/bin/Flink run-m yarn-cluster-yn 2/home/Flink/Flink-JSON-0.1 . jar )中运行jar时,它成功处理了里面的行,并停止了我的应用程序,而不是等待新的行。我做这件事需要一些参数吗? 先谢谢你了

  • 我试图隐藏Actionbar并改用工具栏,但如果我更改Theme.appcompat.light.NoActionBar,它确实会隐藏,但应用程序在行setContentView(r.layout.activity_main)处崩溃; 尽管它确实使用getSupportActionBar()隐藏。hide();但我不能用这个代码 Toolbar Toolbar=(Toolbar)findViewB

  • fReceiveBuffer是否存在一个视频帧? 哦,这里是我的FFMPEG初始化代码,需要打开相关视频解码器:http://paste.ubuntu.com/12529760//

  • 我正在使用Reverfit2,我试图从我用Python制作的Web服务中请求一些数据。 实际上,它抛出了一个“java.lang.IllegalStateException”,但是当我调用GET方法时,API返回代码200,而且我还可以看到用于调试响应JSON的打印版本。问题是Call方法,因为它总是在failure时执行。 求求你,救命! 这是我的(简单的)Python Web服务,API-Pr

  • 问题内容: 由于某些未知原因,我有 “#!” 在Visual Studio 2015中进行调试时,将其添加到我的应用程序网址中。 网址看起来像这样 如果这是某种错字,我已经搜索了所有应用程序,但我不知道这是哪里来的。 我可以在ASP.NET WEB API以及ASP.NET CORE WEB API中看到这一点… 对于前端,我使用角度和角度路线 1.6.0 任何想法是从哪里来的? 我没有使用htm