我刚刚升级到Android Studio 2.2,我不能再构建我的项目,因为Gradle构建总是失败与多个java.lang.OutOfMemoryError:无法创建新的本机线程
从我的研究来看,这似乎更多地与我的操作系统(OSX El Capitan)有关,而不是与Gradle本身有关。然而,我尝试了几种变通方法,但没有成功。
我的studio.vmoptions文件如下所示:
# custom Android Studio VM options, see http://tools.android.com/tech-docs/configuration
-Xms128m
-Xmx750m
-XX:MaxPermSize=512m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops
-XX:+HeapDumpOnOutOfMemoryError
ulimit-a给了我以下信息:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
我尝试增加我的最大用户进程数,但没有任何效果。还有其他人有这个问题吗?我当前的JDK是1.8.0\u 102
返回gradle 2.1.3内部版本。gradle文件。
如果有人碰到我做的同一面墙,您可以尝试禁用Instant Run。我必须采取以下步骤才能成功构建:-在出现提示时升级到gradle 2.2.3-在AS首选项中禁用Instant Run-在build.gradle中返回gradle 2.1.3
我的项目也有同样的问题,在升级之前可以毫无问题地构建。
从2.2.0切换回gradle 2.1.3修复了该问题。
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
}
}
问题内容: 我看到这样的评论 我见过这个问题的一个地方是,如果您继续创建线程,而不是直接在线程对象上调用run(),而不是调用start()。这将导致线程对象不被取消引用…因此,一段时间后,出现无法创建新本机线程的消息 在Sun Java论坛上 在我的应用程序中,最初我们计划使用线程,但是后来,我们决定不再需要线程,因此我们只调用run()而不是start()。我们是否需要为新的threadCla
我试图在(1and1VPS)上运行服务器。就在服务器启动和客户机的几个请求(重新加载网页)之后,我得到了这个错误: 但是当我在计算机上运行时,一切都正常。我使用和Centos5.8新安装制作了自己的虚拟服务器,它也在那里工作。 这个内存不足错误的原因可能是什么?如果你有任何建议,请分享。我不知道该怎么处理这个了。
它的发生是因为我创建了许多线程,而没有关闭它们?还是经常创造新的? 有人能告诉我在代码中是否做错了什么吗?
运行5-6小时后,我从spark-driver程序中得到以下错误。我正在使用Ubuntu16.04LTS和Open-JDK-8。 cat/proc/sys/kernel/threads-max “无法创建新的本机线程”显然意味着它与堆无关。所以我相信这更多的是一个操作系统的问题。
我目前正在安装一台新的MongoDB ops manager机器。安装工作正常,但我无法启动mongodb彩信服务。实例0的启动因java而失败。lang.OutOfMemoryError异常。我使用与测试服务器上相同的配置(2个CPU核,8gb ram),在那里服务启动时没有任何中断。更改ulimit配置/使用root用户启动服务无效。 新服务器规格: 2.0Ghz的10个Vcore 48gb内