草庐IT

JProfiler

全部标签

Java 方法似乎花费了很多我无法解释的时间

使用JProfiler,我在我的Java代码中发现了一个我无法理解的热点。JProfiler解释说这个方法平均需要150μs(674μs没有预热),不包括调用后代方法所花费的时间。150μs可能看起来并不多,但在这个应用程序中它加起来(并且我的用户体验过)而且看起来很多,与其他对我来说似乎比这个更复杂的方法相比。因此这对我很重要。privatebooleanassertReadAuthorizationForFields(Objectentity,Object[]state,String[]propertyNames){booleanchanged=false;finalListfie

java - 远程分析 Java 应用程序

我想问一下如何远程分析Java应用程序。为了进行调试,我可以说出JVM必须监听哪个端口等,因为我尝试访问的机器位于ssh网关后面,所以我手动创建了一个SSH隧道,但我一直在谷歌搜索同样的事情,但是在分析时我不能'好像找不到。基本上我正在寻找这个命令的等价物:java-agentlib:jdwp=transport=dt_socket,server=y,address=8000-jar/bla/bla但为了分析,以便我可以远程附加分析器。 最佳答案 免责声明:我公司开发JProfiler与JProfiler,VM参数是这样的:-age

java - 静态变量、Tomcat 和内存泄漏

我正在调试我在Tomcat应用程序中遇到多年的问题-由于无法对Webapp类加载器进行GC,因此在重新启动应用程序时导致内存泄漏。我用JProfiler拍摄了堆的快照,看起来至少我的一些静态变量没有被释放。某些类有一个静态最终成员,它在类首次加载时被初始化,因为它是最终的,所以我不能在应用程序关闭时将它设置为null。静态最终变量是Tomcat中的反模式,还是我遗漏了什么?我刚刚开始研究JProfiler8,所以我可能会误解传入的引用资料告诉我的内容。干杯!卢克 最佳答案 这是几年前的,但是这个presentation我在JavaO

java - 如何使用 JProfiler 远程分析 Web 应用程序?

我正在运行一个部署在远程机器服务器上的网络应用程序,我有这个应用程序的IP地址和URL。当我用浏览器点击URL时,应用程序就会显示出来。我现在必须分析该Web应用程序,因为我需要找出它运行如此缓慢的原因。我试过使用JProfiler,没有成功。有人可以建议如何配置JProfiler以进行远程分析吗? 最佳答案 在没有GUI的系统上分析远程JVM的最简单方法是:在远程机器上的某处提取JProfiler存档(不是安装程序)在安装目录中调用bin/jpenable并选择您要分析的JVM在您的本地机器上启动JProfiler并创建一个类型为

java - jprofiler 或其他 : how do I roll up recursive method calls?

我有一个很长的操作,我想在JProfiler(或其他建议)中进行分析,但该方法非常递归,因此CPUView中的TreeView没有太大帮助。它向我显示了这样的CPU时间:beginOperation100%|-recursiveMethod99%||-recursiveMethod98%|||-recursiveMethod97%||||-...morerecursion|||-otherMethods1%||-otherMethod1%|-otherMethods1%您看,recursiveMethod确实根本不需要任何时间。相反,它占用时间的是otherMethods,并且是我想要

java - jprofiler "Hot Spot" View 是否正确说明了通过 JNI 调用的 native 代码消耗的 CPU?

我一直在使用JProfiler分析一段通过JNI调用nativeC代码的Java代码,但我从“CPUView”窗口中得到了奇怪的结果。特别是,“CallTree”选项卡上的信息告诉我调用native代码的Java方法消耗了最多的运行时间,但“HotSpots”选项卡甚至根本没有列出该方法。我还注意到org.joda.time类的类似情况,据报道它们占用了相当大的CPU部分,但并未报告为热点,我想知道这是否是因为它们花费大量时间调用原生日期转换代码。任何对此问题的见解都将不胜感激。编辑:我刚刚发现了一篇非常令人不安的学术论文,题为“EvaluatingtheAccuracyofJavaP

java - hibernate 查询在堆转储中的作用

我是JProfiling我的应用程序分析高CPU使用率。用户登录时CPU使用率为100%(在服务器)。所以开始分析我的应用程序。我在堆转储中找到的以下查询字符串。不仅这4个查询,转储中还有数百个这样的查询。java.lang.String(0x3262b1)["/*loadcom.v4common.shared.beans.transaction.ControlTransaction*/selectcontroltra0_.idasid47_48_,controltra0_.form_transaction_idasform2_47_48_,controltra0_.string_va

java - 如何使用 JProfiler 在 Java 中查找内存泄漏?

如何使用JProfiler查找java中的内存泄漏?过去1周我一直在JProfiler中工作,以查找Web应用程序中的内存泄漏。我阅读了一些手册并看到了一些文章,它说查看所有对象和已分配对象View中的内存使用情况,并使用分配热点可以找到内存泄漏。我调查了一下,发现char、string、bytes使用了很多内存。由于我是新手,所以我不知道如何解决这个问题并解决内存泄漏问题。请帮我解决这个问题..提前致谢... 最佳答案 参见thisscreencast关于使用JProfiler查找内存泄漏。

java - visualvm 对比 JProbe 对比 JProfiler

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。有多种工具可用于CPU和内存分析,其中jvisualvm是相当新的。这些工具之间是否有任何比较/基准?哪个工具比其他工具更好?

java - 是否有可用于 jvisualvm 或 NetBeans 分析器的调用 TreeView ?

JProfiler提供实时调用TreeView,因此您可以实时查看正在使用CPU的内容并深入了解详细信息。随时将计数重置为零,冲洗,重复。我目前没有那个工具,并试图通过免费/开放的替代品来度过难关。jvisualvm和NetBeans分析器具有静态快照调用树和实时平面View。似乎可以推断会有一个可用的实时调用TreeView(或作为插件),但我似乎找不到。这种功能是否仅在商业分析器中可用?谢谢。 最佳答案 如果您在分析CPU使用率后点击Sampler或Profiler窗口中的“快照”按钮,它会向您显示一个调用树,其中包含每个方法的