当前位置: 首页 > 知识库问答 >
问题:

运行Android Studio gradle build时如何使用所有CPU内核/线程?

微生乐
2023-03-14

我在Android Studio / Gradle中寻找一个参数或配置,它可以设置构建,以便在构建期间使用我所有的CPU核心。例如,如果我有一个四核CPU,每个核心运行8个线程,我如何优化构建,以便它将使用它可以获得的每个资源(当然是并行的)?

非常感谢。

共有3个答案

谢锦程
2023-03-14

已接受答案的更新:

由于 gradle 使用您需要使用的 Worker API

org.gradle.workers.max

而不是

org.gradle.parallel.threads

链接到文档

耿星雨
2023-03-14

根据Gradle Build Environment Documentation:

org.gradle.configureondemand=true
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.workers.max=4             

默认情况下,< code > org . grad le . workers . max 被设置为CPU处理器的数量(在我的例子中是< code>8)。

由于我的Android Studio冻结了我的Ubuntu工作站(有时迫使我硬重置计算机),我将其设置为4,以确保我的工作站不会在CPU和内存上挨饿。

龚同
2023-03-14

在我的项目中的本地属性文件中,我有

org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true

此外,您可以指定

org.gradle.parallel.threads

它指定用于并行执行的最大线程数。它需要< code > org . gradle . parallel = true 。在这里你可以找到更多关于它的信息

 类似资料:
  • 问题内容: 在Linux中,假设线程的pid为[pid],则从目录/ proc / [pid]中我们可以获得许多有用的信息。例如,这些proc文件/ proc / [pid] / status,/ proc / [pid] / stat和/ proc / [pid] / schedstat都是有用的。但是,如何获取线程正在运行的CPU核心号?如果线程处于睡眠状态,我如何才能知道线程在再次调度后将在

  • 问题内容: 我想用Java解决带有多个线程的数学问题。我的数学问题可以分为多个工作单元,我想通过几个线程来解决。 我不希望有固定数量的线程在工作,而是与CPU核心数量匹配的线程数量。我的问题是,为此我在互联网上找不到简单的教程。我发现的只是带有固定线程的示例。 如何才能做到这一点?你能提供例子吗? 问题答案: 你可以通过使用静态运行时方法,确定提供给Java虚拟机的进程数availableProc

  • 问题内容: 有人可以提供解释,说明当JVM仅是Linux上的单个进程时,Java多线程程序(例如Tomcat servlet容器)如何能够使用CPU的所有内核?有没有很好的深入文章详细介绍了该主题? 编辑#1 :我不是在寻找有关如何在Java中实现多线程程序的建议。我正在寻找有关JVM如何在Linux / Windows上内部管理以使用多个内核而仍是OS上的单个进程的解释。 编辑#2 :我设法找到

  • 我正在Repast 2.7中构建一个ABM,我们正在进入项目的阶段,我们正在交付更大的生产数据集来通知我们的模型。 我注意到在我的32核工作站上,可执行文件只使用了3-12核;平均cpu消耗稳定在5.5%左右。它似乎应该使用更多的内核;或者最大限度地利用它正在使用的核心。我意识到这可能是天真的猜测。 报告32核心可用。 我有兴趣知道是否以及如何配置我的项目以利用更多资源。我意识到HPC版本可用;但

  • 运行代码后,我检查http://localhost:8983/solr/#/~cores/core1并看到1000000个索引文档。 然后我添加了另一个核心(以与核心1相似的方式命名为核心2),然后再次运行该作业,这一次,我看到核心2没有显示任何文档,只有核心1仍然显示。 有没有人可以建议一下如何使用solr的内核来分发和存储文档,这样我就可以更快地索引数据,我的假设是,如果增加内核的数量,索引的

  • 问题内容: 假设我的应用程序运行2个线程(例如渲染线程和游戏更新线程)。如果它运行在具有多核CPU的移动设备上(当今通常是这样),我是否可以期望在可能的情况下自动将线程分配给不同的内核? 我知道底层的OS内核(Android linux内核)决定调度。我的问题是我是否需要做 任何其他事情 才能启用多核功能,还是自动而透明的? 问题答案: 您需要做的是允许两个线程尽可能独立地运行。如果您有两个始终在