저는 게임 서버 소프트웨어용 Linux 호스팅 솔루션을 개발 중이지만 소프트웨어는 32비트이고 콘솔에서는 64비트를 실행하겠습니다. 이제 32비트 chroot 감옥(또는 다중 저장소 시스템)의 64비트 호스트에서 32비트 애플리케이션을 실행할 수 있다는 것을 알고 있지만 전자를 사용하여 파일 시스템에서 격리할 계획입니다. 모든 32비트 애플리케이션 총 4GB 이상의 RAM을 사용하십니까?
각각 2GB를 사용하는 3개의 32비트 게임 서버 프로그램이 있다고 가정해 보겠습니다. 처음 두 프로그램의 총 크기가 4GB가 되면 어떻게 됩니까? 그러면 세 번째 프로그램이 실행될 수 있습니까?
나는 64비트 사용자 모드 Linux 커널에서 32비트 사용자 공간을 실행하여 이 문제를 해결하고 싶었지만 굳이 그렇게 할 수 없다는 것을 알았습니다.64비트 UML 커널에서 32비트 사용자 영역을 실행할 수 없습니다.. 32비트 사용자 공간에서 32비트 UML 커널을 실행할 수 있을 것 같지만, 동일한 메모리 조건에 직면하게 되므로 chroot
감옥을 대신 사용할 수 있을까요?
답변1
각 프로세스는 자체 주소 공간에서 실행되며 32비트는 각 프로세스의 주소 공간을 약 3GB로 제한합니다. 32비트 응용 프로그램에서 사용하는 총 메모리 양은 전혀 관련이 없습니다. 돌아다닐 일이 없습니다.
이것이 문제라면 Chroot Jail은 도움을 줄 수 없습니다. 파일 경로에만 영향을 미칩니다.