我怎么知道 R 是在 64 位还是 32 位上运行?

Posted

技术标签:

【中文标题】我怎么知道 R 是在 64 位还是 32 位上运行?【英文标题】:How can I know if R is running on 64 bits versus 32? 【发布时间】:2013-08-08 03:13:59 【问题描述】:

我的版本输出是:

> version
               _                            
platform       x86_64-w64-mingw32           
arch           x86_64                       
os             mingw32                      
system         x86_64, mingw32              
status                                      
major          2                            
minor          15.2                         
year           2012                         
month          10                           
day            26                           
svn rev        61015                        
language       R                            
version.string R version 2.15.2 (2012-10-26)
nickname       Trick or Treat    

其中 os 是 mingw32。这是否意味着我只使用 32 位?我该如何改变呢?

【问题讨论】:

你得到这个答案了吗?我面临同样的问题,我不知道如何继续,命令 Sys.getenv("R_ARCH") 还是 Sys.info() [["machine"]] 要在 R 查询窗口或命令提示符下输入? 【参考方案1】:

这里有几种方法:

Sys.getenv("R_ARCH") 至少在我的 Windows 系统上返回 "/i386""/x64"(但在我的 Ubuntu 系统上返回空字符串)

Sys.info()[["machine"]] 在我的 Windows 和 Ubuntu 系统上返回 "x86_32""x86_64"

更新:使用其他方法。

【讨论】:

我的返回了""。 :-/ 只需在终端中输入 R 并查看文本顶部。我的说:x86_64-pc-linux-gnu(64位)。接受的答案对我不起作用。 在 R 版本 3.3.3 上,Sys.info()$machine 返回错误:“$ 运算符对原子向量无效”。这种替代方法有效:Sys.info()["machine"].【参考方案2】:

不需要记住各种操作系统的名称,规范的跨平台方法是看:

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

这是 R 对象的地址空间。 (这不是操作系统的地址空间。)

【讨论】:

【参考方案3】:

您的平台在mingw32 前面显示x86_64-w64。你的拱门同样是x86_64。这意味着您在 64 位 Windows 上运行 64 位。

作为参考,32 位 R 的对应架构为 i386

【讨论】:

另外,如果您使用的是 R 的 GUI 版本,标题栏将给出架构:(32-bit)(64-bit) 这可能是 Windows 唯一的答案。 Mac GUI 肯定不是这样。【参考方案4】:

您可能安装了多个版本的 R。在 RStudio 中更改版本:工具 -> 全局选项 -> R 版本...更改...

我选择“使用机器的默认版本 R64(64 位)”,因为我的操作系统是 Windows 8 x64。

【讨论】:

以上是关于我怎么知道 R 是在 64 位还是 32 位上运行?的主要内容,如果未能解决你的问题,请参考以下文章

极域电子教室4.2无法在win7 旗舰64位上安装

python32位和64位有啥区别?

MySQL:检查啥版本:32 位还是 64 位?

Delphi:如何确定应用程序是不是在 Win32 / Win64 下运行并在 64 位上自动启动 64 位版本?

当我们在 Visual Studio SSIS 项目中点击调试按钮时——它是在 32 位还是 64 位模式下运行——32 位提供程序是不是与 64 位运行模式兼容?

如何知道自己的电脑是32位系统还是64位系统