我在Windows 10上使用IntelliJ遇到了一个问题,运行SBT任务似乎在忙循环中占用100%的核心,等待输入。还有其他人遇到过这个问题吗?
JDK(Oracle 1.8.0_72,OpenJDK 1.8.x,Azul Zing)
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
JRE: 1.8.0_152-release-1024-b8 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
图书馆依赖
- Scala 2.12
- sbt 1.0.4(也发生在1.1.0)
- IntelliJ IDEA 2017.3.2(社区版)
Build#IC-173.4127.27,建于2017年12月25日
预期行为
- 使用IntelliJ IDEA运行项目
- 等待编译完成
- 项目空闲,几乎没有CPU使用
醇>
实际行为
- 使用IntelliJ IDEA运行项目
- 等待编译完成
- 项目使用~15 - 20%CPU(Core i7 7700HQ上的1个核心) - 1个线程处于紧密循环中,导致100%使用1个核心。
醇>
如果我通过IntelliJ外部的SBT shell运行项目(例如通过终端),CPU使用率会降低很多(总共约1-5%,而IntelliJ约为20%)。如果我在IntelliJ SBT shell提示符下运行项目,我会遇到类似的高CPU使用率。
线程档案
sbt
- > PlayConsoleInteractionMode
CPU使用率