从 sbt 运行 hprof

发布于 2024-10-31 06:32:57 字数 78 浏览 3 评论 0 原文

如何从 sbt 运行 hprof

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

How do I run hprof from sbt?

Are there different options to profile the CPU vs. the heap?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无语# 2024-11-07 06:32:57

我假设您不想分析 sbt 本身,因此您必须使用 fork 机制并与 hprof 选项

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

I assume you don't want to profile sbt itself so you'd have to use the fork mechanism and combine with the hprof options:

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

or

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)
})

Here are some sample options (use -agentlib:hprof=help for more help):

Option Name and Value  Description                    Default
---------------------  -----------                    -------
heap=dump|sites|all    heap profiling                 all
cpu=samples|times|old  CPU usage                      off
愿得七秒忆 2024-11-07 06:32:57

为了完整起见:如果您使用传统的 build.sbt,您还可以使用

fork in run := true

javaOptions in run += "-agentlib:hprof=heap=sites"

For the sake of completeness: If you are using a traditional build.sbt, you can also use

fork in run := true

javaOptions in run += "-agentlib:hprof=heap=sites"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文