【问题标题】:Error message: 'Calloc' could not allocate memory [duplicate]错误消息:“Calloc”无法分配内存 [重复]
【发布时间】:2022-01-11 16:09:05
【问题描述】:

我正在尝试使用 read 读取 R 中的大型数据集(DNA 序列,13GB)。 Fastq 函数。一些数据集是开放的,但其他的不是(10GB)。此外,我需要生成的 12GB(或更多)的矩阵也没有被处理。 我的计算机系统是 16GB,R 中的 memory.limit 是 36000。我该如何解决这个问题? R中出现错误:

Error: Input/Output
  file(s):
    sar326-2021_R17_S6_R1_001.fastq
  message: 'Calloc' could not allocate memory (250000000 of 1 bytes)

【问题讨论】:

  • 您似乎没有足够的物理 RAM。 read.Fastq 似乎返回某种稀疏对象?可能有些文件不够稀疏。
  • 好的,谢谢!看来我没有足够的空间,尽管在我的电脑上:> sessionInfo() R 版本 4.1.1 (2021-08-10) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行在:Windows 10 x64 (构建 19042)

标签: r memory-management


【解决方案1】:

使用memory.limit()。您可以使用此命令增加默认值,memory.limit(size=2500),其中大小以 MB 为单位。您需要使用 64 位才能真正利用这一点。

【讨论】:

  • 您好,谢谢!是的,我已经设置了 memory.limit(size=36000),但仍然不起作用,我也在使用 64 位版本的 R。 > memory.limit() [1] 16231 > memory.size() [1] 403.39
  • @Vani Maguire 一种解决方案可能是将查询简单地拆分成更小的块
  • 我认为这是不可能的,因为不是常规数据帧而是来自测序平台的数百万读,所以我不应该拆分它!
猜你喜欢
  • 2017-12-07
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
  • 2012-06-10
相关资源
最近更新 更多