scala - 从 sbt 运行 hprof

标签 scala sbt hprof

我如何运行 hprof来自 sbt ?

是否有不同的选项来分析 CPU 与堆?

最佳答案

我假设您不想配置文件 sbt本身,所以你必须使用 fork机制并结合hprof options :

override def fork = forkRun("-agentlib:hprof=heap=sites" :: Nil)

或者
override def fork = Some(new ForkScalaRun { 
  override def runJVMOptions = super.runJVMOptions ++
    Seq("-Xmx1999m", "-agentlib:hprof=heap=sites") 
  override def scalaJars = Seq(buildLibraryJar.asFile, buildCompilerJar.asFile)
})

以下是一些示例选项(使用 -agentlib:hprof=help 获得更多帮助):
Option Name and Value  Description                    Default
---------------------  -----------                    -------
heap=dump|sites|all    heap profiling                 all
cpu=samples|times|old  CPU usage                      off

关于scala - 从 sbt 运行 hprof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600185/

相关文章:

Scala - 案例序列

scala - 如何向上转换 monad 变压器类型?

junit - "play test"类路径不同于 "sbt test"类路径

android - Android Studio 中具有高内存分配的堆转储永远不会完成

java - Android 堆转储转换为 J2SE : hprof-conv: command not found

templates - 在 Play Framework 模板中的 JavaScript 中使用花括号

scala - Slick threadLocalSession 与隐式 session

scala - 从 docker-it-scala 旋转 redis

java - SBT 设置 javac 最大堆

android - 如何为使用 Proguard 构建/从 Google Play 安装的应用程序生成 HPROF 内存转储