How can I know if R is running on 64 bits versus 32?

Here are a few ways:

  • Sys.getenv("R_ARCH") returns either "/i386" or "/x64" at least on my Windows system (but not on my Ubuntu system where it returns an empty string)

  • Sys.info()[["machine"]] returns "x86_32" or "x86_64" on my Windows and Ubuntu systems.

Updated: With additional method.


Rather than needing to remember the designations of various OS's, the canonical cross-platform method is to look at:

> .Machine$sizeof.pointer
[1] 8   # 8 bytes for address is 64 bits.

This is the address space for R objects. (It's not the address space for the OS.)


Your platform says x86_64-w64 in front of the mingw32. Your arch is similarly x86_64. That means you're running 64-bit, on 64-bit Windows.

For reference, the corresponding arch for 32-bit R would be i386.


You may have multiple versions of R installed. To change versions in RStudio: Tools -> Global Options -> R Version...Change...

I choose "Use the machine's default version of R64 (64-bit)," since my OS is Windows 8 x64.