【发布时间】:2017-01-31 14:49:10
【问题描述】:
我在单核 Windows 7 机器上运行电子应用程序。似乎每当我使用 fs 库执行几乎任何文件 I/O 时,电子进程的 CPU 都会飙升至 ~100%,并且执行文件 I/O 可能需要长达一分钟的时间。
一个特别慢的函数是fs.readFileAsync()。我正在阅读的文件很小,但执行起来似乎需要很长时间。
我还在双核 Windows 7、Windows 8.1、Windows 10 和 Ubuntu 15.10 上运行了这个确切的代码,这些操作系统都没有遇到这个问题,它似乎只是单核 Windows 7 机器。 (所以我几乎可以肯定编写的代码没有问题)。
有谁知道为什么会发生这种情况?这个问题有什么解决办法吗?内核数量影响电子应用程序的性能似乎很奇怪。同样,这只是 Windows 7,因此单核 Windows 8.1 或 Windows 10 机器不会出现这种行为。
【问题讨论】:
-
我认为我们在单核 Windows Server 2012 R2 VM 上遇到了同样的问题,即 99% 的 cpu 峰值。我将在几天内将我们运行的所有 4 个实例更改为多核。希望它能解决我们 Electron 应用程序目前的蜗牛速度。
-
我可能在启动时看到了与 VS Code 类似的问题(基于 Electron)。在我的情况下,使用任务管理器将 Code.exe 进程的优先级降低到接近 100% 的 CPU 数小时以低于正常值立即“修复”问题并让 VS Code 启动。对另一个使用 CPU 更少的 Code.exe 进程执行相同操作没有任何效果。罪魁祸首似乎是最初的 Code.exe 进程。
标签: javascript node.js windows windows-7 electron