r - 如何清除 rJava 使用的内存?

2024-04-16

我正在使用 xlsx 包创建工作簿、工作表,将数据写入工作表,然后保存工作簿。然而,当我多次重复这组操作时,我开始出现错误消息:

>Error in .jcheck(silent = FALSE) : 
  java.lang.OutOfMemoryError: GC overhead limit exceeded.jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, .jcast(if (inherits(o, "jobjRef") || inherits(o, "jarrayRef")) o else cl, "java/lang/Object"), .jnew("java/lang/String", method), j_p, j_pc, use.true.class = TRUE, evalString = simplify, evalArray = FALSE)<S4 object of class "jobjRef"

>Error in .jnew("java/io/FileOutputStream", file) : 
  Java Exception <no description because toString() failed>.jnew("java/io/FileOutputStream", file)<S4 object of class "jobjRef">

>Error in .jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook") : 
  Java Exception <no description because toString() failed>.jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook")<S4 object of class "jobjRef">

Error in .jcheck(silent = FALSE) : 
  Java Exception <no description because toString() failed>.jcall(wb, "Lorg/apache/poi/ss/usermodel/Sheet;", "createSheet", sheetName)<S4 object of class "jobjRef"

我猜这是因为重复操作会消耗 Java 内存。

我的问题是,如何清除/重新初始化内存,以便我可以再次重复这些操作而不会出现内存不足错误?

r中有没有简单的代码可以实现这一点?

非常感谢您的建议!


我不知道如何在 xlsx 上执行此操作,事实上,由于这些问题我不再使用它

我现在使用 XLConnect,它有一个命令

xlcFreeMemory()

就是这样做

请注意,为了获得最佳结果,您需要在加载之前增加 Java 内存,如下所示

options( java.parameters = "-Xmx4g" )
library(XLConnect)

祝你好运

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

r - 如何清除 rJava 使用的内存? 的相关文章

随机推荐

  • MFC 是否提供了将文本放入剪贴板的快速方法?

    我们的代码库中的添加到剪贴板代码非常低级 分配全局内存等等 对于简单的情况 我只想将一些纯文本放在剪贴板上 是否有任何例程可以包装所有这些内容 一个例子是 CRichEditCtrl 具有 Copy 和 Cut 方法 可以自动将当前选择放入
  • Ansible with_items 与循环

    使用有什么区别带有项目 https docs ansible com ansible 2 4 playbooks loops html vs loops http docs ansible com ansible latest user g
  • 设置按钮在悬停时显示

    我在 Angular 4 材料表单元格中有一个按钮 我希望仅当鼠标悬停在表行上时才显示该按钮
  • 在 C# 中,如何在不使用 Bitmap.MakeTransparent() 的情况下将图像设置为透明背景?

    我想将图像设置为具有透明背景 但我不想用透明度替换特定颜色的所有像素 更具体地说 该图像是通过 IShellItemImageFactory GetImage 获取的文件夹的缩略图 这给了我一个位图 如 Windows 资源管理器缩略图视图
  • 如何在 Inno Setup 中使用 GetVolumeInformation?

    我需要在使用 Inno Setup 创建的安装过程中获取驱动器号的卷序列号 我知道 DLL 函数可以导入到 Inno 中 但我对它还很陌生 并且在使其工作时遇到一些问题 我知道 kernel32 中的 GetVolumeInformatio
  • 使用连接、分组依据和聚合函数的 SQL 选择查询

    我有两个带有以下字段的表 emp table emp id emp name salary increase emp id inc date inc amount 我需要编写一个查询 其中提供员工详细信息 员工加薪的次数 最大加薪金额以及加
  • 可安装发动机安装在什么路径上

    我需要从可安装引擎的布局内部知道它当前安装在什么路径上 该怎么做呢 例如 我的routes rb 包含以下行 mount BackendCore Engine gt backend 从 BackendCore 内部 我需要访问 backen
  • BLL和DAL之间的通信

    解决方案设置 DAL 类库 BLL 类库 常见 类库 一些常见功能 枚举 日志记录 异常等 应用程序 1 Windows 应用程序 应用程序2 Windows应用程序 WebApp 网络应用程序 假设我有一个Customer实体 即 SQL
  • 在 R 中生成可能排列的随机、非重复子集

    Given p离散变量 我想随机选择 k他们可能的排列 换句话说 对于变量a in 0 1 and b in 1 2 3 两个随机排列将是 0 2 and 1 3 我想在不首先生成所有可能排列的表的情况下生成这些变量 因为随着变量数量及其可
  • 将以毫秒为单位的日期时间转换为双精度或整数?

    我有一个看起来不错的字符串 如下所示 TimeString 2011 01 02 22 06 52 091 现在我想将其转换为双精度数 并将其保存为双精度数 我是用c 做的 我该怎么做呢 网上实在找不到答案 Edit 时间是一种金融货币报价
  • Google Analytics“用户计数”与大查询“用户计数”不匹配

    我们的 Google Analytics 用户计数 与我们的大查询 用户计数 不匹配 我计算得正确吗 通常 GA 和 BQ 非常接近 尽管不完全一致 最近 GA 与 BQ 中的用户数并不一致 我们的 每个用户的会话数 通常非常正常分配 在过
  • 如何编写自定义操作 DLL 以在 MSI 中使用?

    这是我打算自己回答的问题 但请随意添加其他方法来完成此任务 我正在打包一个应用程序以用于各种配置 并且我确定在 MSI 中执行自定义逻辑的最可靠方法是编写我自己的自定义操作 DLL 该 DLL 能够从 PROPERTY 表中读取 写入 终止
  • 在 Monogame 中使用 BMP 图像作为字体

    有没有办法使用 BMP 图像加载自定义字体 我在网上看到了 Microsoft 提供的解决方案 但在尝试运行此解决方案时 我不断收到内容加载异常 看起来这曾经适用于 XNA 但对于 Monogame 可能不再是这样了 我想要自己的自定义字体
  • Git:推送到多个远程

    Short 如果您将多个远程存储库链接到本地 文件 是否有一种方法可以同时推送到它们 Long 由于工作原因 我的代码必须使用gitlab和github遥控器 因此 一旦我进行了一些本地更改 我就想更新这两个存储库 我的 git confi
  • 重新渲染子视图后,主干事件会多次触发

    我们有一个由侧边栏和几个子视图组成的主干视图 为简单起见 我们决定让侧边栏和子视图由单个视图管理render功能 但是 那click edit单击侧边栏项目之一后 事件似乎会多次触发 例如 如果我从 常规 开始并单击 edit then h
  • Vim: set langmap=e;h 破坏 supertab 插件

    我是 Vim 新手 正在尝试设置一些插件 到目前为止我已经安装了 Pathogen pyflakes 和 supertab 后者似乎不起作用 紧迫tab而在插入模式下只需写入字符串
  • 如何从 UWP(又名 .NET Core)中的 Type 对象获取 Assembly

    Type 类在 NET Framework 中有一个Assembly 属性 然而 当您编写使用 NET Core 的 UWP 时 此属性就消失了 仅 AssemblyQualifiedName 属性可用 我怎样才能从这个名字进入Assemb
  • R:如何用文本框注释 ggplot?

    我希望添加一个小的白色文本框 并在 ggplot 绘图的正文中添加自定义文本 我要添加的文本是为了标识我要添加到绘图中的水平线 ggplot cb emp geom point aes x grossunits y rate color a
  • 在 StringTokenizer 中使用多个分隔符

    我想知道如何在 java 中使用 StringTokenizer 的多个分隔符 例如其中之一 将作为分隔符出现 而且一次只会有一个 Use the 有两个参数的构造函数 http docs oracle com javase 6 docs
  • r - 如何清除 rJava 使用的内存?

    我正在使用 xlsx 包创建工作簿 工作表 将数据写入工作表 然后保存工作簿 然而 当我多次重复这组操作时 我开始出现错误消息 gt Error in jcheck silent FALSE java lang OutOfMemoryErr