java - 如何检查在 YourKit 中记录对象分配期间创建了多少个类的实例?

标签 java profiling memory-profiling yourkit

我是 YourKit 的新手profiler 并在阅读了一些好评后想尝试一下。我正在尝试分析在 weblogic 应用程序服务器中运行的 web 应用程序。我基本上想检查在开始记录和停止记录对象分配之间创建了多少特定类的实例。我怎样才能做到这一点?我还想知道这些对象创建方法的堆栈跟踪。为此,我是否还必须在开始分配记录后捕获内存快照?如果是,那为什么?

最佳答案

I basically want to check how many instances of a particular class got created between the time I start recording and the time when I stopped recording object allocation. How can I do that?

查找记录的数字,例如搜索分配下的类。如果您记录了每 10 次分配,请将其乘以 10 以获得数量的估计值。如果您需要确切的数字,您需要记录创建的每个实例(这会减慢您的应用程序)

I would also like to know the stacktrace for those object creation methods.

您可以通过查看这些分配发生的位置来获取这些堆栈跟踪的摘要。

For doing this do I also have to capture memory snapshot after starting allocation recording?

我怀疑这是开箱即用的支持,因为拍摄快照非常非常昂贵。不过,YourKit 提供了一个 API,您可以通过将其添加到要跟踪的对象的构造函数中,在每次创建该对象时以编程方式触发快照。

关于java - 如何检查在 YourKit 中记录对象分配期间创建了多少个类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919215/

相关文章:

java - 如何在 Google AppEngine 中搜索小于或等于的数字字段?

java - 如何使用 rocoto 实现覆盖属性策略?

MATLAB 中持久变量的性能损失

python - 如何仅在 python 中测试时启用内存分析器?

profiling - 使用 jvisualvm 进行内存采样

java - 使用 @Produces 注释时出现不明确的依赖关系

java - 构建期间 SonarCloud 授权错误

linux - 为什么 linux 命令 (iostat) 中的每秒读取 (r/s) 始终为零?

python - 使用 memory_profiler 时无法导入模块