据我所知,当我们在64位Ruby上运行Ruby应用程序时,它消耗的内存比32位Ruby多,这是由于指针地址空间。
我的机器有64GB RAM,所以为了访问完整的64GB内存,我安装了一个64位操作系统。
我注意到在64位Ruby上运行我的Ruby on Rails应用程序比使用32位Ruby消耗更多的RAM。我正在使用Phusion Passenger,因此它为每个请求分配或创建新的Ruby进程,因此每个Ruby进程(用户请求)在32位Ruby中限制为2 GB,或者整个Ruby进程仅限于32位访问2GB有点Ruby。
我的Rails应用程序代码库很大,我计划在单个服务器中为多个客户端复制相同的代码作为多个Rails应用程序,因此每MB的RAM对我来说很重要,因此如果有更多的RAM是免费的,我可以为其他客户端运行其他应用程序。
有关应用程序体系结构的更多信息,请参阅“(Using phusion passenger + Nginx) running same rails app with multiple instance names with same port (80)”。
是否可以在64位操作系统上安装32位Ruby?
通过在64位操作系统上安装32位Ruby,我的32位Ruby能否使用64 GB RAM?
在64位操作系统上运行32位Ruby有哪些优缺点?
但是,你无所畏惧。指针大小从32位(4字节)到64位(8字节)仅影响指针。如果您有64 GB的RAM和可以使用它们的64位处理器,请使用64位版本。