62得票21回答
哪个Java分析器更好:JProfiler还是YourKit?

哪种性能分析器更适合通用的性能剖析和堆分析?我们90%的应用程序都是独立的命令行程序,需要进行大量的数据库和数字处理。另外10%是Web应用程序/Servlet容器应用程序(非常少的JSP和没有脚本!)。目标用户将是具有5-10年行业经验的高级软件工程师。我们只需要支持Sun JDK 5。 ...

13得票3回答
是否可能在外部分析器下运行JMH基准测试?

我目前正在进行性能优化。为了测量吞吐量并确保不回退,我使用了很棒的JMH。 但是当我遇到一些缓慢的问题时,我想要开始分析以查看发生了什么。根据这个链接,JMH的作者写道: 虽然JMH分析器可以提供分析工具,但我认为它们不能替代适当的分析工具。例如,“堆栈”分析器用于快速扫描分析文件,...

13得票2回答
有没有一种方法可以分析被截断的Java堆转储(hprof文件)?

在我的工作中,我们遇到了一个难以重现的OOM问题。更准确地说,在一个系统上很容易重现,使该系统无法使用,但是在其他任何地方都很难重现,即使输入相同。 该应用程序正在使用服务包装器作为服务运行。我们设法更改配置,以选项启动它在OOM时输出堆转储文件,但不幸的是,它们被截断,很可能是由于服务包装...

13得票1回答
YourKit - 对象的保留大小不等于所有被其引用的对象的保留大小

一个对象的保留大小并不等于它所引用的所有对象的保留大小之和。 这里是发生的情况: 使用YourKit捕获内存快照。 点击对象并按类类型显示实例 假设实例的保留内存为A字节(600mb) 展开并汇总底层实例的保留大小,假设总和为B(300mb) A >> B

12得票3回答
我能否从运行中的JVM中转储当前线程堆栈变量?

我需要查看两个死锁线程的堆栈以分析情况。目前JVM是活动的,数据也存在其中,但我需要某种工具从进程中提取它。我只关心类型为String的堆栈中的6个变量。非常感谢任何建议。JVM版本为6_35,运行在linux上,启用了JMX,但我没有配置profiler/debugger连接。这很难重现。

10得票2回答
通过JNI调用对Java运行进行分析

我有一段C++代码,执行时: 加载JVM(我可以完全控制如何加载JVM),并使用C JNI代码调用Java方法(从已加载的类中)。这个Java代码没有Main()方法,实际上它不是一个标准的Java应用程序。它主要是静态代码,编译并压缩成Jar文件,由C++模块调用。 是否可以使用您拥有许...

10得票2回答
什么原因会导致Tomcat(v8)定期出现CPU占用率飙升?

在一台安装了Tomcat 8的Windows 2012 RT (x64)测试服务器上,CPU使用率经常达到峰值,这种行为发生在我们应用程序安装之后,但在任何人访问之前。我已经访问了一些页面并测试了一些功能,但我不知道有什么可能导致这种行为。该服务器有2个虚拟处理器,每隔约20秒,CPU使用率会...

9得票3回答
为什么 park/unpark 使用了60%的CPU?

最近我们开始使用YJP 11.0.9对我们的应用程序(一款基于XMPP的聊天服务器)进行压力测试。在测试过程中,我们注意到以下奇怪的行为: 采样显示sun.misc.Unsafe.unpark(Object)占用了60%的CPU。 对于相同的应用程序,跟踪显示LockSupport.par...