Linux
64 位上的 32 位:多個程序的記憶體使用情況
我正在為遊戲伺服器軟體開發 Linux 託管解決方案,但是有問題的軟體是 32 位的,我將在主機上執行 64 位。現在,我知道我可以在 32 位 chroot 監獄(或 multilib 系統,但我計劃使用前者以將它們隔離在文件系統中)中的 64 位主機上執行 32 位應用程序,但是當所有 32 位應用程序都使用超過 4GB 的 RAM?
假設我有三個 32 位遊戲伺服器程序,每個程序使用 2GB - 一旦前兩個達到 4GB 會發生什麼,第三個能夠執行嗎?
我希望通過在 64 位使用者模式 Linux 核心下執行 32 位使用者空間來解決這個問題,但是我不屑地了解到,不能在 64 位 UML 核心下執行 32 位使用者空間。我想我可以在 32 位使用者空間中執行 32 位 UML 核心,但是我會在相同的記憶體條件下執行,因此還不如使用
chroot
監獄?
每個程序都在自己的地址空間中執行,並且 32 位將每個程序的地址空間限制為大約 3GB。32 位應用程序使用的記憶體總和是完全無關的。沒有什麼可以解決的。
如果這是一個問題,chroot 監獄將沒有絲毫幫助的機會。它們只影響文件的路徑。