memory.size {utils} | R Documentation

## Report on Memory Allocation (on Windows)

### Description

On MS Windows,

  `memory.size()` reports the current or maximum memory allocation of the `malloc` function used in this version of R.

  `memory.limit()` reports or increases the limit in force on the total allocation.

On non-Windows platforms

  these are stubs which report infinity (`Inf`) with a warning.

### Usage

    memory.size(max = FALSE)

    memory.limit(size = NA)

### Arguments

`max` | logical. If `TRUE` the maximum amount of memory obtained from the OS is reported, if `FALSE` the amount currently in use, if `NA` the memory limit.
`size` | numeric. If `NA` report the memory limit, otherwise request a new limit, in Mb. Only values of up to 4095 are allowed on 32-bit R builds, but see ‘Details’.

### Details

Command-line flag --max-mem-size sets the maximum value of obtainable memory (including a very small amount of housekeeping overhead). This cannot exceed 3Gb on 32-bit Windows, and most versions are limited to 2Gb. The minimum is currently 32Mb.

If 32-bit R is run on most 64-bit versions of Windows the maximum value of obtainable memory is just under 4Gb. For a 64-bit versions of R under 64-bit Windows the limit is currently 8Tb.

Memory limits can only be increased.

Environment variable R_MAX_MEM_SIZE provides another way to specify the initial limit.

### Value

A number: On Windows, size in Mb (1048576 bytes), rounded to 0.01 Mb for `memory.size` and rounded down for `memory.limit`.
On other platforms: `Inf` always.

### Note

These functions exist on all platforms, but on non-Windows always report infinity as R does itself provide limits on memory allocation—the OS's own facilities can be used.

### See Also

Memory-limits for other limits.

On Windows: The rw-FAQ for more details and references.

### Examples

    if(.Platform$OS.type == "windows") withAutoprint({
    memory.size()
    memory.size(TRUE)
    memory.limit()
    })

[Package utils version 3.6.1 Index]