Windows 2008 64 비트에서 ASP.NET 응용 프로그램의 최대 메모리 크기 제한은 무엇입니까?Windows 2008에서 ASP.NET 응용 프로그램의 최대 메모리 크기 제한 64bit
감사합니다, 가이 Bertental
Windows 2008 64 비트에서 ASP.NET 응용 프로그램의 최대 메모리 크기 제한은 무엇입니까?Windows 2008에서 ASP.NET 응용 프로그램의 최대 메모리 크기 제한 64bit
감사합니다, 가이 Bertental
(즉, 웹 응용 프로그램 원예가), 당신은 Windows가 주소 지정 공간으로 제공 할 것입니다 64 비트 무엇으로 제한됩니다. 64 비트 Windows의 차후 버전이이 최대치를 확장하면 64 비트 CLR에서 실행되는 .NET 응용 프로그램에 즉시 반영됩니다. 64 비트 주소 공간에는 하드 코딩되거나 .NET 구조적 제한이 없습니다.
그러나 .NET에는 컴퓨터 당 2GB 의 하드 코드 된 제한이 있습니다.. 실제로 도달 할 수있는 유일한 현실적인 방법은 new int[1000000000]
과 같은 큰 배열을 정의하는 것입니다. .NET 프레임 워크 표준이 배열 인덱스를 int
으로 정의하기 때문에 이는 또한 메모리 조각화와 관련된 일부 문제를 제외하고는 제한의 주요 원인이기도합니다.
64 비트 CLR은 8 TB의 주소 공간을 볼 수있게된다.
메모리 조각화는 할당 할 수있는 가장 큰 인접한 공간이 훨씬 적다는 것을 의미 할 수 있습니다.
이것은 많은 것들에 달려 있습니다.
1. 어떻게 확인하나요? 2. 예 3. 웹 원예를 설정하지 않았습니다. –
@Guy 솔직히 말해 프로세스 당 메모리 제한에 대한 권위있는 기사를 찾을 수 없습니다. 32 비트 윈도우 OS의 경우 2GB의 꽤 명확합니다. 그러나 64 비트 세계에서는 많은 회색 영역이있는 것으로 보입니다. 특정 OS의 특정 프로세스에 대한 메모리 제한을 검색하려고합니다. OS 특정 (가족 내에서도 서버의 버전 즉 웹, 표준, 중소기업 등을 포함해야합니다.) 인 것 같습니다. – Joseph
흠, 물리적 메모리 범위의 가상화를 고려할 때 분열 문제는 확실합니까? –
오른쪽의 실제 메모리 조각화는 중요하지 않지만 작은 개체가 많은 힙에 할당되거나 일부 개체가 대형 개체 힙에 저장되어 가비지 수집되지 않을 때 가상 주소 공간이 조각화 될 수 있습니다 . 상당 부분 CLR이이를 처리 할 것이지만 여전히 조각으로 끝날 수 있습니다. – Nick