java - 将 Selenium-Server-standalone 作为 Windows 服务运行时遇到高 CPU 消耗

标签 java windows-services cpu selenium-webdriver selenium-server

感谢您查看我的帖子。

我正在使用 nssm(- Non-Sucking Service Manager | http://nssm.cc/ )将 selenium-server-standalone 作为 Windows 服务运行,利用与此 stackoverflow 帖子 @: https://stackoverflow.com/a/10656979/956863 中提到的相同过程。 。 帖子快速摘要: 下载并解压nssm.exe 安装 NSSM 并从命令行运行: nssm install Selenium-Server "C:\Program Files\Java\jre6\bin\java.exe""-jar C:\Selenium\selenium-server-standalone-2.24.1.jar ”

我运行这个进程的机器正在运行Windows XP,Service Pack 3。这个将selenium服务器作为服务运行的解决方案就像一个魅力,当selenium服务器正在运行,并且由于某种原因崩溃时,selenium服务器无需人工干预即可成功重启。

但是我正在上类,系统管理员通知我正在抛出高CPU警报。系统日志再次没有提供任何信息......所以我想知道 Selenium 是否真的是造成这种情况的原因问题,并希望消除将 selenium 作为服务运行而导致 CPU 峰值的可能性。

任何人都可以想到一个解决方案,也许是一种当 cpu 利用率达到 X 量时停止 selenium 服务的方法?或者?

与此同时,我将设置某种长期 CPU 利用率监视器,看看是否可以看到 xp 中的系统监视器可能丢失的内容。 (如果有人知道实现此目标的好方法,我也愿意接受建议)

最佳答案

我在 Windows 2008 服务器上将 selenium 作为服务运行,并注意到它无法清理 headless 浏览器实例。我的测试是用 JavaScript 和 Soda 编写的,因此我启动并关闭了浏览器实例,但作为服务运行,它不会关闭任务管理器中的这些实例。

我实际上有两种运行服务的方式,一种方式是使用bat文件来运行selenium,另一种方式是直接通过注册表项运行它。

在我向 teamcity 添加了另一个步骤流程以在测试完成后在任何打开的浏览器上自动运行 taskkill 后,我就能够解决浏览器问题。这解决了我的 CPU 峰值问题。

关于java - 将 Selenium-Server-standalone 作为 Windows 服务运行时遇到高 CPU 消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13050017/

相关文章:

Java 图像复制在 Windows 上正常,但在 Linux 上已更改

java - 如何在 JsonArray 中选择特定的 JsonObject?

c# - 检查我的程序是否在 64 位机器上以 32 位模式运行,如果以 64 位运行 - 我如何强制它为 32 位

asp.net-core - 如何更改 Visual Studio 2017 中用于调试的默认浏览器?

Ubuntu kworker 线程消耗 100% CPU

linux - Linux 中/proc/cpuinfo 中较小的型号和较大的步进值是否意味着较新的CPU 版本?

java - 检索 JSON 对象

java - 我无法显示我的 ImageIcon

c# - Serilog topshelf 集成不起作用

linux - 使用 htop 命令时,time+ 列中的红色值是否表示有问题?