问题标签 [jprofiler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 如何使用 jprofiler 进行 JBOSS 6 EAP 分析?
我们正在尝试使用 jprofiler 对在 JBOSS 6 EAP 上运行的应用程序进行分析。但是,运行standalone_jprofiler.bat 时会出错,
我们试图在standalone.conf.bat 文件中增加内存为
以下语句由 jprofiler 附加在 bat 文件中,
我不确定 jprofiler7 是否支持 JBOSS 6 EAP。
java - Jprofiler 配置
我正在尝试使用独立的 java 1.5 控制台应用程序评估 jProfiler。文档说要添加 -agentpath:[jprofilerti 库的路径]。
什么是 jprofilerti 库?
当我启动它时,我是否将此参数添加到我的控制台应用程序中?
java - Jprofiler 7.2.2 - 我如何查看在方法中花费的时间
我已经下载了 JProfiler 的试用版,并且正在一个 java 1.5 控制台应用程序上对其进行测试。它只显示内存使用情况,即 java.lang.String 被实例化了多少次。我想看看调用了哪些方法以及每个方法花费了多少时间。我还没有弄清楚如何在试用版中执行此操作。
我查看了以下文章 http://java.dzone.com/articles/jprofiler-your-java-code-could,其中显示了“性能瓶颈”的菜单选项。我的下拉菜单中没有这个选项。试用版中是否禁用了此功能?
java - jprofiler 启用 CPU 数据启动
JProfiler 7.2.2 中的随附帮助指出:
“除非在分析设置对话框的启动部分中选择了“启动时记录 CPU 数据”,否则必须通过单击手动启动数据采集...”
我在配置文件设置对话框中没有“启动”部分,更不用说“在启动时记录 CPU 数据”复选框。
有人能帮忙吗?
我需要在启动时打开 CPU 分析,以便在我的 java 1.5 控制台应用程序中找到性能瓶颈。
java - JProfiler 7.2.2 远程 JVM 崩溃
我将 Jprofiler 远程连接到 Linux 服务器。但是在连接最终远程JVM崩溃时。JProfiler GUI 的错误消息如下:
我的远程 JVM java 版本是 1.6.0_33 Java Hotspot(TM) 64-Bit Server VM
为什么说要减少已分析应用程序的 -Xmx 值,或者如何解决这个问题?
eclipse - 无法从 Eclipse 启动 JProfiler - 源代码查找中的 NPE
一年多来,我一直在 Eclipse 中使用 JProfiler 7,但我的 Eclipse 似乎定期进入无法再运行 Profile 的状态,并且我从 Eclipse 内部获得 NullPointerException。运行以前有效的配置文件时,我收到以下错误:
它在源代码查找中失败的事实很有趣,因为我最近在 Eclipse 中也遇到了问题,通常是 IDE 无法解析源文件位置(即使对于我的项目中的常规旧 Java 文件或导入的项目),我必须手动重新设置源查找(使用“附加源”按钮)。所以不确定这是否真的是 JProfiler 问题或基本的 Eclipse 问题。
当我第一次遇到这个问题时,我最初是在 Eclipse Indigo 中工作的,所以我升级到 Juno 并解决了问题,但它现在又回来了,我不知道为什么:) 我也尝试过重新做JProfiler IDE 集成向导,但这没有帮助。
- 瑞克
jprofiler - JProfiler 窗口启动后不可见
JProfiler 7.2.2 启动后 - 我没有看到主窗口。我在 Windows 7 中使用 JProfiler 并继续在任务管理器中查看进程并作为启动栏中的活动按钮而没有任何错误,但窗口对我来说是隐藏的。
环境:
- 包含 JRE 的 JProfiler 7.2.2
- 视窗 7 x64
- 机器上安装的 Java 1.6.0_30
我已经尝试过的:
- 重新安装 JProfiler(从旧版本到最新的 7.x 版本)
- 重新启动操作系统
- 试图在评估模式下启动它
除了明显的问题“如何解决它?”,还有更多可以帮助我解决问题的问题:
- 如何为 JProfiler 启用日志记录以及在哪里可以访问这些日志?
- JProfiler 提供了哪些其他工具来分析其行为?
JProfiler 进程有一个堆栈跟踪:
jprofiler - JProfiler:试图找到内存泄漏
我的应用程序需要大约 10 GB 的 RAM 用于特定输入,而对于常规输入,大约 1 GB 就足够了。使用 JProfiler 进行更仔细的分析表明(在 GC 之后)标准类使用了相当多的内存java.util.*
:
LinkedHashMap$Entry
, HashMap$Entry[]
, LinkedHashMap
, HashMap$KeySet
, HashMap$EntrySet
, LinkedHashSet
, TreeMap$Entry
, 和TreeMap
(按此顺序)和相关类。以下条目是我自己代码中的一个类,其中实例的数量和使用的内存量似乎非常合理。
在总堆使用量约为 900 MB 的情况下,我Size
在视图中看到以下条目All Objects
:
LinkedHashMap$Entry
: 418 兆字节HashMap$Entry[]
: 178 兆字节LinkedHashMap
:124兆字节HashMap$KeySet
: 15 兆字节
使用的内存LinkedHashMap
似乎太高了,即使考虑到LinkedHashSet
each 由LinkedHashMap
.
我在 JProfiler 中记录了对象分配并观察了Allocation Hot Spots
for LinkedHashMap
. 在那里,我看到了我不理解的条目:
- 第三个条目显示了一个热点(分配内存的 6.5%),名为
X.<init>
whereX
是我自己代码中的一个类。该方法的构造函数与 . 没有任何关系LinkedHashMap
。在此进入到Thread.run
最后显示从 6.5% 到 5.8% 的缓慢下降Thread.run
。我的代码可能有什么问题X
?为什么显示在这里? - 大约 8% 的已分配内存显示在名为 的热点中
java.util.HashSet.iterator
。沿着百分比最高的路径(第一个条目:2.8%)跟随这个条目,我在代码中得到了几个方法,直到最后java.lang.Thread.run
显示(2.8%)。这是什么意思?据我所知,该Thread.run
方法不会创建LinkedHashMap
. 与iterator
方法有什么关系?
一般来说,我如何找到保留对(很多)LinkedHashMap
对象的引用的代码?使用 Heap Walker,我只能看到很多这样的实例,但看不到任何模式(即使在观察到 GC 根的路径时)。在我的实验中,所有实例似乎都井然有序。
可能重要的事情:
- 我的应用程序构造了一个结果(用于进一步处理),并且对于这种构造,观察到了高内存使用情况。
LinkedHashMap
构造不断创建对象,因此不可能等待一个稳定点然后观察每个创建的对象。 - 我有很好的计算机可供调试(最多 48 个内核和 192 GB 的 RAM,甚至可能更多)。
- java 版本“1.7.0_13”(Java(TM) SE 运行时环境(构建 1.7.0_13-b20),Java HotSpot(TM) 64 位服务器 VM(构建 23.7-b01,混合模式))
- JProfiler 7.2.2(内部版本 7157),许可
java - JProfiler 内存视图 -> 对象大小
我的应用程序中有以下类:
我正在使用 JProfiler 进行分析会话以识别一些内存问题。在“内存视图”选项卡上,具有聚合级别的类,例如,我有 2000 个 A 实例,总大小为 156KB。
我的问题是这个尺寸意味着什么?它只是对 A 对象的引用的大小,还是 A 的所有填充成员的大小(我特别想知道 Map)?我想这只是 A 参考尺寸,但想确保这一点。
jprofiler - 无法连接到 JProfiler
我无法成功连接 JProfiler 7.2.2。
在我的应用程序中,他们有一个在 Linux 框中使用的检测启动代码。我已添加-agentpath:/opt/jprofiler7/bin/linux-x64/libjprofilerti.so=port=8849,nowait
到启动代码中。
我在启动日志中看到以下详细信息:
但是,当我从 Windows PC 从远程客户端连接时,它会挂起一段时间并超时。
此外,启动参数中存在以下参数:
这些参数中的任何一个都会导致 JProfiler 连接出现问题吗?