簡體   English   中英

在64位操作系統上安裝32位Ruby

[英]Installing 32-bit Ruby on 64-bit OS

據我所知,當我們在64位Ruby上運行Ruby應用程序時,它比32位Ruby消耗更多的內存,這是由於指針地址空間所致。

我的機器具有64GB的RAM,因此為了訪問完整的64GB內存,我安裝了64位OS。

  1. 是否可以在64位操作系統上安裝32位Ruby?
  2. 通過在64位操作系統上安裝32位Ruby,我的32位Ruby能夠使用64 GB的RAM嗎?
  3. 在64位操作系統上運行32位Ruby的優缺點是什么?

我已經注意到,在64位Ruby上運行Ruby on Rails應用程序比32位Ruby消耗更多的RAM。 我使用的是Phusion Passenger,因此它會為每個請求派生或創建新的Ruby進程,因此在32位Ruby中每個單獨的Ruby進程(用戶請求)都被限制為2 GB,或者整個Ruby進程在32-露比


我的Rails應用程序代碼庫很大,我計划在單個服務器中為多個客戶端復制與多個Rails應用程序相同的代碼,因此每個MB的RAM對我來說都很重要,因此,如果有更多的RAM可用,我可以為其他客戶端運行其他應用程序。

有關應用程序體系結構的更多信息,請參閱“ (使用phusion passenger + Nginx)使用具有相同端口(80)的多個實例名稱運行相同的Rails應用程序 ”。

是否可以在64位操作系統上安裝32位Ruby?

  1. 對的,這是可能的。

通過在64位操作系統上安裝32位Ruby,我的32位Ruby能夠使用64 GB的RAM嗎?

  1. 不,它無法訪問64 GB RAM。 默認情況下,32位進程限制為2 GB,如果標記為LARGE_ADDRESS_AWARE,則最大為3 GB,但不能更多。

在64位操作系統上運行32位Ruby的優缺點是什么?

  1. 缺點:您只能使用2 GB的內存。

不過,您無需擔心。 指針大小從32位(4字節)到64位(8字節)只會影響指針。 如果您有64 GB的RAM和可以使用它們的64位處理器,請使用64位版本。

...我計划在一個服務器中為多個客戶端復制與多個Rails應用程序相同的代碼,因此每個MB RAM對我來說都很重要...

不要編寫整體的應用程序,而編寫較小的Rails應用程序,這些應用程序將調用中央代碼,該代碼可以為所有調用它的應用程序處理盡可能多的處理。 這會稍微慢一點,但是在內存方面要高效得多。

研究類似於RabbitMQ的后端。 對於這樣的任務,它效率極高且非常出色。 AMQP寶石是您的朋友。

使用JSON將數據扔到隊列中。 它使調試變得容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM