问题标签 [openj9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
286 浏览

java - OpenJ9 是否支持 sun.misc.Contended 注解?

我创建了一个程序来检查是否@sun.misc.Contended生效。这个想法是,当@Contended生效时,注释类中的字段偏移量会更大。

如果我指定了-XX:-RestrictContended标志,我可以看到 OpenJDK 上偏移量的预期差异。我在 OpenJ9 11 (jdk-11.0.1+13, Eclipse OpenJ9 VM-11.0.1) 上没有看到任何区别。

OpenJDK 输出是

OpenJ9 的输出是

该程序是

0 投票
0 回答
169 浏览

openj9 - 我是 OpenJ9 新手,需要在 RCP 应用程序中使用 OpenJ9 分析工具

与 Hotspot JVM 相比,我只是没有找到任何关于如何衡量性能改进的工具。请分享我在哪里可以找到分析工具的详细信息。例如像 JvisualVM 这样的分析工具

0 投票
1 回答
203 浏览

asynchronous - OpenJ9 gc 日志是异步的吗?

OpenJ9 是异步写 gc 日志的吗?

在 docker 容器中使用 Eclipse OpenJ9 时,我可以将 gc.log 放入 NFS 或 Ceph 吗?

我读过 OpenJDK write gc log synchronously: Is gc.log writing asynchronous? 将 gc.log 安全地放在 NFS 挂载上?.

0 投票
1 回答
201 浏览

java - 如何使用 OpenJ9 Xtrace 选项转储方法参数的内容

背景:

我想在 Eclipse 上记录用户活动,例如,用户克隆了哪些 git 存储库,何时发生合并冲突,等等。

我想出了使用 OpenJ9 -Xtrace 选项。首先,为了测试 OpenJ9 -Xtrace 选项功能,我使用 OpenJ9 做了以下选项: Xtrace Option Builder,并将这些选项添加eclipse.ini到记录克隆的 git 存储库。

  • org/eclipse/jgit/api/CloneCommand.setURI()是一种在 EGit/JGit 中为克隆存储库设置 URI 的方法。
  • org/eclipse/jgit/api/CloneCommand.call()是一种克隆指定存储库的方法。

然后我使用-clean选项启动 Eclipse,克隆一个存储库,然后退出 Eclipse。我mytrace.trctraceformat命令转换,并得到这个输出mytrace.trc.fmt

此输出显示setURI()方法有一个参数 ( Ljava/lang/String;),但没有 JGit 克隆的 URI。

问题:

如何使用 OpenJ9 Xtrace 选项转储方法参数的内容?

0 投票
0 回答
225 浏览

jvm - 使用 OpenJ9 的类数据共享时,应该对 JVM 内存的哪个区域影响最大

我正在寻找经验证据来支持使用 Open J9 的类数据共享功能。此功能声称:

在同一主机上运行的多个 Java 虚拟机 (JVM) 之间提供透明和动态的数据共享,从而减少每个 JVM 实例消耗的物理内存量

我正在使用 docker compose 运行同一应用程序的 5 个副本,并使用本地 prometheus 服务器来监控所有 5 个 JVM 中的内存使用情况。

我已经启用并禁用了类数据共享功能,然后我正在查看指标。

  • 已加载 jvm 类
  • jvm非堆内存
  • jvm类存储
  • jvm JIT 数据缓存
  • 缓冲存储器

它们都通过 Prometheus 执行器端点暴露在 Spring Boot 应用程序中。

我的直觉告诉我,如果某些内存映射文件被用于类存储,我可能会看到类存储量和使用的非堆内存量有所减少。

并不是说我的测试非常科学,但到目前为止,我看到了相反的结果——当我启用该功能时,这两个指标都会略微上升(边际量但根本没有下降)。

真正应该在哪里衡量此功能的影响。从表面上看,鉴于所有 5 个应用程序都是相同的,我觉得它应该产生一些可衡量的影响,这让我觉得我在衡量错误的东西。

0 投票
0 回答
286 浏览

openj9 - OpenJ9 性能不是很好?

最近renessaince.dev发布了来自大量实际测试(他们的话)的性能结果。OpenJ9 不好看!

测试人员可能忽略了 OpenJ9 配置是否存在任何问题?

0 投票
1 回答
40 浏览

java - 如何在主机中使用 docker-built library&bin

我的问题是如何在主机中使用 docker 容器构建的软件和库。docker 提供的库可能依赖于其他工具/库编译。当我尝试一些开源项目(例如,openj9)时,这个问题就出现了。

例如,我在 docker 容器中构建了一个 openJ9 VM,一个类似于 HotSpot JVM 的 Java VM,遵循(构建指令)。这个过程没问题,但下一个问题是我如何配置容器构建的 jvm,驻留在~/openj9-openjdk-jdk8/build/linux-x86_64-normal-server-release/容器内部,驻留在主机的 eclipse 中?

我在使用 docker 时可能是错误的方式,感觉会有潜在的冲突,因为容器构建的 jvm 的容器环境可能与主机环境不同。

那么任何人都可以解释在主机中为我的 Eclipse 使用容器构建 jvm 的正确方法吗?谢谢

0 投票
1 回答
189 浏览

java - 在 ubuntu 18.04 中安装 OpenJDK OpenJ9 后,我丢失了可执行文件

我最近从https://launchpad.net/~rpardini/+archive/ubuntu/adoptopenjdk在我的 Ubuntu 18.04 机器上安装了 OpenJ9 jvm,并在我的终端中收到了以下通知:

我试过运行 Spring Tool Suite,到目前为止没有出现任何问题。

我应该担心这个吗?如果我能做些什么来修复这些丢失的文件,请教我。我对 jvm 的工作原理知之甚少。先感谢您。

0 投票
2 回答
1495 浏览

java - 如何使用 Eclipse OpenJ9 进行堆转储?

使用 Oracle 的 Hotspot JVM,它看起来jmap -dump:file=/tmp/dump.txt <pid>可以用来进行堆转储。

但是,Eclipse OpenJ9 不包含该jmap工具 - 如果您尝试将常规jmap与 OpenJ9 的 jvm 一起使用,则会出现异常:

那么,如何使用 OpenJ9 进行堆转储呢?

0 投票
1 回答
4873 浏览

visualvm - 将 VisualVM 与 AdoptOpenJDK 和 OpenJ9 一起使用

如果我使用适用于 Java8 的 AdoptOpenJDK HotSpot 构建,我可以使用 VisualVM 监控应用程序。如果我使用 OpenJ9 构建,VisualVM 会显示错误“无法检测到本地应用程序”。

有人让 VisualVM 与 OpenJ9 一起工作吗?