LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (https://www.linuxquestions.org/questions/linux-server-73/)
-   -   Hugepages exepriment: Triggering large page tables (https://www.linuxquestions.org/questions/linux-server-73/hugepages-exepriment-triggering-large-page-tables-865407/)

kenneho 02-28-2011 01:28 AM

Hugepages exepriment: Triggering large page tables
 
Hi all,

I’m learning about linux memory and hugepages, and know that hugepages basically is just memory that manages memory. I thought I’d experiment with the subject, and wrote a very small C program (http://pastie.org/1606226) that basically just eats 20 GB of memory. The idea was that I would use this small C program to see how big the page table would get when handling large areas of memory when I'm not using hugepages.

After running the program on my RHEL 5 server I was expecting the PageTable to be huge, but found that it was only about 43 MB. The page size on my RHEL box i 4 kB.

Can someone here please help me clear up why I’m not getting the major PageTable size issue I was expecting?

Greetings,
kenneho

johnsfine 03-01-2011 10:11 AM

I'm curious how you measured the page table size. But your results seem reasonable.

In x86_64 architecture the hardware portion of the page table data requires 2092KB of page tables for every GB of populated virtual address space.

That is roughly equal to what you reported.

There is also a significant software only component to the structure. I don't know how big that is, but I think it is big enough that it must not be included in the value you measured.

kenneho 03-04-2011 12:59 AM

Quote:

Originally Posted by johnsfine (Post 4275288)
I'm curious how you measured the page table size. But your results seem reasonable.

In x86_64 architecture the hardware portion of the page table data requires 2092KB of page tables for every GB of populated virtual address space.

That is roughly equal to what you reported.

There is also a significant software only component to the structure. I don't know how big that is, but I think it is big enough that it must not be included in the value you measured.

I simply used the page table size reported in /proc/meminfo (IIRC the field is called "PageTable"). The system was lightly loaded to start with, so most of the page table is filled with entries related to the small program I wrote.


All times are GMT -5. The time now is 02:24 PM.