1

我正在使用最新版本的 r 中的包“dismo”构建一个大型物种分布模型。当我使用代码处理基本模型时:

me <- maxent(x=train, p=p)

我收到以下错误:

> Error in .jcall(mxe, "S", "fit", c("autorun", "-e", afn, "-o", dirout,
> :    java.lang.OutOfMemoryError: unable to create new native thread

在 stackoverflow 和互联网上有一些关于这个错误的讨论,但似乎没有一个解决如何解决 r 代码中的问题。对此问题的任何意见将不胜感激。

干杯,以色列

4

1 回答 1

2

dismo包中:如果你想给 MaxEnt(运行它的 Java 虚拟机)更多的内存,你可以通过在加载 dismo 库之前运行类似这样的东西(1 GB)来做到这一点。

options(java.parameters = "-Xmx1g" )

有些人在 Mac (Apple) 计算机上使用此功能时报告了问题。具体来说,会出现以下错误消息:

Error in .jcall(mxe, "S", "fit", c("autorun", "-e", afn, "-o", dirout, : java.lang.InternalError: Can’t start the AWT because
Java was started on the first thread. Make sure StartOnFirstThread is not specified in your application’s Info.plist or on the command line.

这是 Mac 上某些 Java 应用程序的一个已知问题。我们知道有两种解决方法:

1) 在运行库 rJava 之前运行 Sys.setenv(NOAWT=TRUE) (如果没有加载 rJava,这就是 dismo 所做的)。2) 使用 JGR 接口(基于 Java 的 R GUI)。您可以从这里安装 JGR:

于 2013-07-11T00:08:23.313 回答