在64位操作系统上安装32位Ruby

在64位操作系统上安装32位Ruby,ruby,x86,64-bit,passenger,Ruby,X86,64 Bit,Passenger,据我所知,当我们在64位Ruby上运行Ruby应用程序时,它比32位Ruby消耗更多的内存,这是由于指针地址空间 我的机器有64GB内存,所以为了访问全部64GB内存,我安装了一个64位操作系统 可以在64位操作系统上安装32位Ruby吗 通过在64位操作系统上安装32位Ruby,我的32位Ruby能否使用64 GB RAM 在64位操作系统上运行32位Ruby的优缺点是什么 我注意到在64位Ruby上运行RubyonRails应用程序比32位Ruby消耗更多的RAM。我使用的是Phusion

据我所知,当我们在64位Ruby上运行Ruby应用程序时,它比32位Ruby消耗更多的内存,这是由于指针地址空间

我的机器有64GB内存,所以为了访问全部64GB内存,我安装了一个64位操作系统

  • 可以在64位操作系统上安装32位Ruby吗
  • 通过在64位操作系统上安装32位Ruby,我的32位Ruby能否使用64 GB RAM
  • 在64位操作系统上运行32位Ruby的优缺点是什么
  • 我注意到在64位Ruby上运行RubyonRails应用程序比32位Ruby消耗更多的RAM。我使用的是Phusion Passenger,因此它会为每个请求分叉或创建新的Ruby进程,因此每个单独的Ruby进程(用户请求)在32位Ruby中被限制为2GB,或者整个Ruby进程在32位Ruby中仅被限制为访问2GB


    我的Rails应用程序代码库很大,我计划在一台服务器上为多个客户机复制与多个Rails应用程序相同的代码,因此每MB RAM对我来说都很重要,因此如果有更多RAM可用,我可以为其他客户机运行其他应用程序

    有关应用程序体系结构的更多信息,请参阅“”

    可以在64位操作系统上安装32位Ruby吗

  • 是的,这是可能的。
  • 通过在64位操作系统上安装32位Ruby,我的32位Ruby能否使用64 GB RAM

  • 不,它无法访问64 GB RAM。默认情况下,32位进程限制为2 GB,如果标记为大地址,则最多3 GB,但不超过3 GB。
  • 在64位操作系统上运行32位Ruby的优缺点是什么

  • 缺点:内存限制为2GB。
  • 不过你什么都不用担心。指针大小从32位(4字节)到64位(8字节)仅影响指针。如果您有64 GB的RAM和可以使用它们的64位处理器,请使用64位版本

    …我计划在一台服务器上为多个客户端复制与多个Rails应用程序相同的代码,因此每MB RAM对我来说都很重要

    不要编写单一的应用程序,编写更小的Rails应用程序,调用中央代码,尽可能多地处理所有调用它的应用程序。它会稍微慢一点,但在内存方面会更有效率

    查看类似于后端的内容。这是令人惊讶的效率和伟大的这类任务。宝石是你的朋友


    使用JSON在队列中抛出数据。它使调试变得容易。

    我注意到,在64位ruby上运行ruby on rails应用程序比32位ruby消耗更多的RAM,我正在使用phusion passenger,因此它为每个请求分叉或创建新的ruby进程,因此每个单独的ruby进程(即用户请求)在32位ruby中被限制为2GB,或者整个ruby进程在32位ruby中仅被限制为访问2GB。您假设的是Windows。在x86-64 Linux上,64位内核下的32位进程可以使用4GiB虚拟地址空间的所有页面,只有几页除外。(但i386 System V调用约定的效率低于Windows下使用的某些32位调用约定;Linux上的32位二进制文件主要用于向后兼容,但可能不包括具有指针密集型数据结构的代码,其中32位指针可以节省缓存占用空间和内存带宽。)这简直是无中生有。大多数Rails应用程序每个实例运行50-150MB,因此您将比RAM更快地耗尽CPU调度。@RobertK我的Rails应用程序代码库很大,我计划在一台服务器上为多个客户端复制多个Rails应用程序的相同代码,因此每MB RAM对我来说都很重要,因此,如果更多的RAM是免费的,我可以为更多的客户运行更多的应用程序。我已经用应用程序架构更新了我的帖子,你能检查一下吗?你说你的代码库“很大”,但这并不能告诉我们什么。大量的线路?需要大量RAM进行处理?引用确凿的事实,这样就有了一些有用的东西。如果您正在使用大量RAM,请了解如何共享代码,这就是MQ的用途,并将数据存储在fast DB表中。感谢您的回复,注意:讨论在32位ruby和64位ruby之间。讨论是“我的Rails应用程序代码库很大,我计划在一台服务器上为多个客户端复制与多个Rails应用程序相同的代码,因此每MB RAM对我来说都很重要,因此如果有更多RAM可用,我可以为其他客户端运行其他应用程序“正确编写您的系统,您就可以适应大量的处理。我不能再多说了,但你会惊讶于我们用这种方式挤进微型虚拟机中。@theTinMan规定OP使用消息队列和面向服务的体系结构,这与眼前的问题完全无关。问题在于计算架构和地址空间大小。