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.