저는 Debian 서버 VPS를 가지고 있으며 공급자는 Debian 5 64비트를 설치했습니다. RAM이 750MB밖에 없고 64비트 시스템에서는 변수에 더 많은 RAM이 필요하다고 들었는데, 32비트 설치를 요청해야 합니까?
답변1
짧은 답변:
64비트 소프트웨어에서는 32비트 소프트웨어에 비해 변수가 두 배의 공간을 차지하지 않습니다. 32비트 운영 체제로 전환하여 얻을 수 있는 잠재적인 메모리 이득은 노력할 가치가 없습니다.
긴 대답:
숫자는 더 커질 수 있습니다. 하지만 그렇다고 해서 그렇게 될 것이라는 의미는 아닙니다. 이는 (일반적으로) 애플리케이션에서 가장 많은 메모리를 소비하는 문자열이 아닌 숫자에도 적용됩니다.
또한 많은 응용 프로그램에서는 C와 같은 언어에서와 같이 사용하려는 숫자의 크기를 명시적으로 지정합니다. int
이는 32비트보다 작은 크기를 포함하여 모든 크기가 가능합니다. 게다가 내 64비트 Linux 컴퓨터에서 C 언어 int
는 32비트입니다. 따라서 long long
64비트 숫자를 명시적으로 요청해야 합니다.
따라서 기본적으로 애플리케이션은 64비트용으로 컴파일되었다고 해서 더 많은 메모리를 사용하지 않습니다.
편집하다:
64비트 Firefox가 메모리를 두 배로 사용한다는 Gilles의 주장에 대응하여 내 시스템에서 32비트와 64비트 Firefox를 비교했습니다.
5개의 열린 탭을 실행하여 테스트했습니다.http://acid3.acidtests.org/테스트를 3번 실행했습니다(32비트 한 번, 64비트 한 번, 그 다음 두 번 반복). 이 사이트는 JavaScript를 많이 사용하고 정적 콘텐츠를 사용하기 때문에 선택했습니다(페이지를 렌더링할 때마다 동일한 데이터가 제공됨).
최종 실행에서:
32비트: 173,244kb rss / 918,348kb virt
64비트: 184,588kb rss / 966,624kb virt
예, 좀 더 광범위한 테스트를 할 수 있지만 이 정도면 둘 사이의 크기 차이가 최소화된다는 것을 증명하기에 충분하다고 생각합니다.
답변2
RAM이 4GB 미만인 시스템의 경우 64비트 설치 대신 32비트 설치를 선택합니다.
64비트는 포인터의 특성으로 인해 일반 LAMP 설치의 경우 약 10~50MB에 달하는 더 많은 메모리를 사용합니다.
256meg와 같이 메모리가 제한된 시스템에서는 상당히 큰 청크가 될 수 있습니다.
기술적으로 PAE를 사용하면 최대 64gig까지 동일하게 적용되지만 응용 프로그램의 주소 지정 가능 공간은 어떤 경우에도 여전히 4gig로 제한됩니다. 따라서 4gig 이상의 장치에서는 특히 PAE 오버헤드와 관련된 성능 향상을 활용하기 위해 64비트를 사용하는 것이 좋습니다.
간단히 말해서: <4gig = 32비트 | >4g = 64비트.
답변3
공급자가 Debian 5 64비트를 설치했다면 이 버전을 유지하는 것이 좋습니다.
64비트와 32비트의 차이점은 메모리 관리자에만 있는 것이 아닙니다.
답변4
더 빠르게 실행되는 일부 숫자 처리 응용 프로그램을 제외하면 64비트 시스템의 유일한 이점은 4GB 이상의 메모리를 처리할 수 있다는 것입니다. 주소 공간의 일부가 커널용으로 예약되어 있으므로 프로세스는 약 2GB 또는 3GB의 주소 공간만 얻습니다(커널 구성에 따라 다소 차이가 있음). 데이터베이스 및 웹 서버 사용 사례의 경우 많은 교환을 수행하고 싶지 않으며 숫자 처리를 많이 수행하고 싶지 않습니다. 따라서 RAM이 750MB만 있으면 64비트 시스템을 사용해도 아무런 이점이 없습니다.
코드 크기는 i386(32비트) 코드와 amd64(64비트) 코드 간에 거의 동일합니다. 64비트 프로그램은 약간 더 많은 데이터 메모리를 사용합니다. 그 양은 애플리케이션에 따라 다릅니다. 귀하의 사용 사례에서 눈에 띄지만 큰 차이는 없는 것을 보고 싶습니다.
64비트로 전환하는 데 드는 비용이 약간 적고 이점이 없다는 점을 고려하면, 구입하는 데 크게 번거롭지 않다면 32비트 시스템을 사용하는 것이 좋습니다.