为什么我可以使用R变量超出机器的RAM?

时间:2016-01-22 16:24:01

标签: r memory memory-management ram

我在16 GB RAM的计算机上(Windows 7,64位)。 memory.limit大约在这个数量(大约16000 MB)左右,并且无法应对大型数组,这会超过这个限制。但是,我能够设置比RAM大得多的内存限制(目前它是2096000 MB!)。我认为这有点虚构,机器不会真正应付,但当我再次运行代码时,它应对得很好,而不是那么长时间(<5分钟)。

memory.size目前为24704 MB,远远大于RAM,尽管我的全局环境只有一个大小相当的对象(一个包含大数组的列表):11806 MB。

所以我的问题是双重的:

  1. 为什么我的内存大小比全局环境中唯一的大对象大得多(除了我只导入包之外)
  2. 为什么我的内存大小允许比计算机的RAM大得多?
  3. 我的记忆资料在这里:

       NULL      symbol    pairlist     closure environment     promise    language     special     builtin 
          1       14354      456204        6301        1232        6744      176976          45         667 
       char     logical     integer      double     complex   character         ...         any        list 
      25587       12555       65228       17992          22       82825           0           0       51683 
    expression    bytecode externalptr     weakref         raw          S4 
             1       39002        2536         729         730         886 
    

0 个答案:

没有答案