Luk*_*uke 31 java debugging profiling visualvm
我创建了一个简单的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.的CPU和Memory按钮变灰.什么都没发生.
该Status说profiling inactive.
当我的申请终止Status说application terminated.
我在这做错了什么?我需要调整一些设置吗?启动应用程序时是否需要设置VM标志?
Kub*_*uba 34
java 1.7.0_45更新后我遇到了同样的问题.我不得不删除以下文件夹:
C:\users\'username'\AppData\Local\Temp\hsperfdata_'username'
Run Code Online (Sandbox Code Playgroud)
在这样做之后,一切都像魅力一样.
Mic*_*ael 22
我猜这个问题与从Eclipse中启动的应用程序有关,这是因为JVisualVM期望在java.io.tmpdir目录中找到数据(通常C:\Users\[your username]\AppData\Local\Temp\hsperfdata_[your username]在Windows系统上).
我假设而不是在JPS,JVisualVM等期望的正常位置,Eclipse将数据放入它自己的临时文件夹中?
如果是这样,请尝试使用JVisualVM jvisualvm -J-Djava.io.tmpdir=[Eclipse's temp directory]来明确告诉它数据的位置.
如果找不到该hsperfdata_$USER文件夹,请尝试以通常的命令行Java方式在Eclipse外部运行应用程序.
另请注意,在1.6.0_23周围引入了一个影响临时文件夹(区分大小写)的错误,所以也许您可以通过更新到更新的Java 6(或7)版本来获益?
| 归档时间: |
|
| 查看次数: |
37378 次 |
| 最近记录: |