3

Java菜鸟在这里。

使用以下 java.exe 进程运行 Selenium Grid 时,我看到“奇怪”的内存行为。

java.exe -jar selenium-grid.jar -role hub -port 84 -timeout 100

任务管理器中的“私有字节”指标以大约 100 MB/分钟的速度缓慢上升,直到达到令人担忧的大小(>20 GB!)。

我还没有确定它是否真的引起了问题。我只是怀疑健康的过程没有那么大。我附加了 YourKit 分析器,看到一个非常健康的堆在 < 350 MB 1处徘徊。

运行 Selenium Grid 的 java.exe 的 YourKit 配置文件

YourKit 允许我在 JVM 内部强制执行 GC 操作,所以我选择了它,“私有字节”从 20 GB 下降到 ~500 MB。所以没有泄漏或任何东西。

我做了一些关于 GC 设置的阅读,并开始使用 -Xmx 和 -Xincgc 并得到一些稍微不同的行为,但我总是以这个经历巨大 GC 操作的巨大过程结束。我团队中的一些人认为这会降低可靠性,但我目前没有任何因果数据。

所以我出于好奇发帖。有人用自定义的 GC 设置运行 Selenium Grid 吗?GC 专家——这里有什么想法——这有什么不健康的吗?

  • Windows Server 2012 数据中心
  • 32 GB RAM,带 Xeon 2x L5640 2.27GHz
  • JRE SE 7 U9
  • Selenium WebDriver 2.31.0.0
4

0 回答 0