相关疑难解决方法(0)

在命令行中分析正在运行的Java应用程序

我经常使用VisualVM运行Java应用程序,但需要X才能在计算机上运行

我知道我可以通过管理端口连接,但这将是一个离线采样分析,这对我来说是不够的.

所以我正在寻找一种解决方案,我可以从命令行分析正在运行的Java应用程序的方法的CPU使用情况.这对我来说足以在服务器上收集数据,然后可以在不同的机器上分析收集的数据.

更新:

看来我需要更加具体.我想从命令行分析正在运行的Java应用程序,我不想阻止它并重新运行它.

java performance command-line profiling jvm

54
推荐指数
5
解决办法
4万
查看次数

如何从每个样本中的探查器获取完整的堆栈转储以用于火焰图?

我非常喜欢Flame Graph的概念,因为它有助于消除不必要的函数调用.然而,有一个问题是它需要分析器在每次收集样本时执行完整的堆栈转储.这可以通过DTrace或SystemTap轻松完成,但我需要能够在运行ubuntu的ARM设备上执行此操作(这会消除DTrace).我还想在不重新编译内核的情况下执行此操作(这会消除Sys​​temTap).

是否有可能获得Valgrind/Callgrind或OProfile(或其他可以在Ubuntu中的ARM设备上运行的分析工具)输出类似于:
dtrace -n 'profile-1001 /pid == 12345 && arg1/ { @[ustack()] = count(); }

linux profiling valgrind arm stack-trace

3
推荐指数
1
解决办法
1056
查看次数

标签 统计

profiling ×2

arm ×1

command-line ×1

java ×1

jvm ×1

linux ×1

performance ×1

stack-trace ×1

valgrind ×1