小编que*_*zak的帖子

限制 Gradle/Android Studio 构建的优先级/线程?

当 Android Studio 构建我的项目时,它很容易吃掉我所有的 8 个内核。我希望能够在我的应用程序编译时流畅地浏览互联网。有没有办法可以将 Gradle 的 java 进程设置为低优先级(nice level > 10)?

该解决方案非常适合我的 gentoo 系统(portage 在 niceness 19 上运行,我通常可以在编译时使用我的 PC)。最佳情况下,只有 Gradle 的 java 应该以低优先级运行,因此 Android Studio 本身保持响应。如果这是不可能的,那么将 Gradle 的 Java VM 限制为仅使用 5-7 个内核是否更容易?不过,这可能会导致更长的构建时间。


编辑

我手动试验了一下。我在循环中运行了一个脚本,它每秒为所有新的 Java 进程设置良好的 15 级(Windows 用户的“低优先级”)。不幸的是,系统仍然不是很灵敏。我看到在编译期间我的平均负载上升到20,而我只有 4 个(逻辑)内核。这意味着 Gradle 产生了太多线程。我在其他地方读到这些线程也很少屈服,这可能是降低优先级无济于事的原因。

所以,更新的问题是:是否可以限制 Gradle 使用的线程数?

java threads nice android-studio

6
推荐指数
1
解决办法
1644
查看次数

标签 统计

android-studio ×1

java ×1

nice ×1

threads ×1