2

read.xlsxpackage の functionを使用しようとすると、R でエラーが発生しますxlsx。エラーは「

エラー.jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,: java.lang.OutOfMemoryError: Java ヒープ領域

パッケージを使用してみましたが、正常に動作しますが、パッケージのみopenxlsxを使用したいです。xlsxRセッションからすべてのパッケージをアンロードした後、ヒープスペースを増やすためにJavaパラメータを設定しようとしましたが、うまくいきません。64 ビット システムで 32 ビット R、32 ビット Java を使用しており、環境変数で可能なすべてのパスを宣言しています。

助けてくれてありがとう!

4

1 に答える 1

0

私はどういうわけかこの問題を再現できない方法で抱えていて、部分的に解決しまし-Xmx8gたが、ランダムに問題に遭遇しました。

を使用して、ここで別のガベージコレクターのオプションを説明しました

options(java.parameters = c("-XX:+UseConcMarkSweepGC", "-Xmx8192m"))
library(xlsx)

スクリプトの開始時、および他のパッケージがロードされる前。これは、他のパッケージが Java のものを単独でロードできるため、Java をロードする前にオプションを設定する必要があるためです。

これまでのところ、問題は再発していません。

長いセッションでは、まだ発生することがあります。ただし、この場合、通常はセッションを再起動すると問題が解決します。

于 2020-08-20T05:51:15.773 に答える