1GB 페이지를 지원하는 CPU는 무엇입니까?


19

일부 인텔 CPU는 1GB 페이지를 지원합니다. 이것은 CPUID 0x80000001, EDX 비트 26 을 보면 식별됩니다 . 리눅스 커널은 통해이 노출 /proc/cpuinfo은 AS pdpe1gb플래그 .

어떤 CPU가이를 지원하는지, 어느 CPU가 지원하지 않는지 어디에서 알 수 있습니까? 또는이 기능을 지원하는 제품 라인은 무엇입니까? 이 인텔 ARK 페이지에는이 기능에 대한 지원을 나타내는 내용이 없습니다.

CPU를 어떻게 지원 기가 바이트 페이지 :

1GB 페이지를 지원 하지 않는 다른 CPU :


답변:


4

이 페이지 에 따르면 :

AMD의 최신 AMD64 프로세서 및 Intel의 Westmere 및 이후 프로세서와 같은 표준 4KB 페이지 최신 x86-64 프로세서 외에도 장거리 모드에서 1GB 페이지를 사용할 수 있습니다

Westmere CPU 의 새로운 기능 이므로 사실 인 것 같습니다 .


5
그렇습니다, 나는 그 위키 백과 페이지를 모두 보았다! 그러나이 답변은 정확하지 않습니다. Sandy Bridge는 Westmere보다 최신이며, 현재 이를 지원 하지 않는 2 개의 Sandy Bridge CPU가 있습니다.
Jonathon Reinhart

2
@ JonathonReinhart : 일반적으로 사용되는 Hugepages 의 단점, esp. 1G 페이지는 전체 거대한 페이지가 많은 실제 RAM을 묶고 있다는 것입니다. 프로세스가 1GiB를 정상적으로 할당하면 실제로 접촉 한 부분 만 실제로 가상 메모리를 차지합니다. 초과 커밋은 커널이 처리 할 스왑 공간이 충분하지 않은 할당도 허용합니다. Linux는 프로세스가 중지 된 경우에도 디스크에 대용량 페이지를 페이징 할 수 없으므로 대용량 페이지 할당은 실제로 많은 물리적 메모리를 고정 / 고정시킵니다.
Peter Cordes

1
그들은 (당신이 있는지에 대해 알고있을 때 예를 들어 반 비어되지 않습니다 때 2M의에서는 hugepages는 의미가 있다 어쨌든 2M의 모든 4K 쓰기 것), 그러나 페이징의 부족 큰 문제입니다. 메모리가 제한된 데스크탑에서 끔찍하게 작동하도록 범용 소프트웨어를 설계하는 것은 좋은 생각이 아닙니다. 2M hugepages가있는 디스크의 파일을 mmap 할 수도 없다고 생각하지만 2M 블록 내에 4k 페이지가 닿지 않기 때문에 실행 파일에는 좋지 않을 것입니다. 이들은 페이지 캐시에서 제거 될 수 있으며 (프리 페치되었다고 가정) RAM을 비 웁니다.
Peter Cordes

1
현재 멀티 레벨 TLB가있는 CPU에서 TLB 미스에 소요되는 총 시간은 그리 나쁘지 않습니까? 파이어 폭스와 같은 큰 물건을 프로파일 링하지 않았습니다. TLB 미스에 걸리는 시간 (예 : 페이지 워크) 및 L1 I- 캐시 미스와 같은 것들에 대해 읽을 수있는 요약 정보를보고 싶습니다. 나는 단지 perf그것을 지적 할 수 있다는 것을 안다 ... 파이어 폭스에 2M hugepages를 사용하고 싶더라도 내부 데이터의 많은 부분이 그보다 작은 덩어리로 할당되어 있다고 생각합니다. hugepage 버퍼 내에서 할당의 외부 조각화를 최소화하는 데 오버 헤드가 발생했습니다.
Peter Cordes

1
TLB 미스는 많은 데이터베이스 응용 프로그램과 같이 메모리가 많은 랜덤 액세스 작업에서 비용이 많이 듭니다. 거대한 페이지는 큰 차이를 만들지 만 심지어 1GB가 아니라 2MB 페이지에 대해 이야기하고 있습니다. OS는 전체 물리적 주소 공간을 직접 매핑하여 1GB 페이지를 가장 많이 사용합니다.
GreenReaper
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.