I'm working on a Linux hosting solution for game server software, however the software in question is 32-bit and I'd be running 64-bit on the host. Now, I know I can run 32-bit apps on a 64-bit host in a 32-bit chroot jail (or a multilib system, but I plan to do the former to keep them segregated in the filesystem), however what happens when all 32-bit apps use over 4GB RAM combined?

Say I have three 32-bit game server programs that use 2GB each - what will happen once the first two hit 4GB combined, and will the third be able to run at all?

I hoped to get around this by running a 32-bit userland under a 64-bit User Mode Linux kernel, however I learned to my disdain that one cannot run a 32-bit userland under a 64-bit UML kernel. I suppose I could run a 32-bit UML kernel in a 32-bit userland but then I'd be running afoul of the same memory condition and thus might as well be using chroot jails anyway?


Each process runs in its own address space, and being 32-bit restricts that address space to about 3GB for each process. The sum of the memory used by 32-bit applications is completely irrelevant. There is nothing to get around.

If this was a problem, chroot jails would not have the slightest chance of helping. They only affect paths to files.

  • I'll mark this as an answer in just a few minutes, once it allows me to do so. – Aaron Mason Sep 6 '13 at 1:21

Your Answer

