1. HugePages description
1.1 HugePages Introduction
HugePages is afeature integrated into the Linux kernel with release 2.6. This featurebasically provides the alternative to the 4 K page size (16 Kfor IA64) providing bigger pages.
There are some related terms about HugePages:
(1) Page Table: A page table is thedata structure of a virtual memory system in an operating system to store themapping between virtual addresses and physical addresses. this means that on avirtual memory system, the memory is accessed by first accessing a page tableand then accessing the actual memory location implicitly.
-- Page Table is the data structure of the virtual memory system on the operating system. It stores the ing between the virtual memory address and the physical memory address. This means that in the virtual memory system, when we access the memory, we first access the Page Table, and then implicitly transfer it to the physical memory location based on the ing relationship in the Page Table.
(2) TLB: A Translation LookasideBuffer (TLB) is a buffer (or cache) in a CPU that contains parts ofthe page table. this is a fixed size buffer being used to do virtual addresstranslation faster.
-- TLB (Translation Lookaside Buffer) is a buffer or cache in the CPU. Its size is fixed. TLB contains part of the Page Table, which is used to quickly convert virtual addresses.
(3) hugetlb: This is an entryin the TLB that points to a HugePage (a large/big page larger than regular 4 Kand predefined in size ). hugePages are implemented via hugetlb entries, I. e. wecan say that a HugePage is handled by a "hugetlb page entry ". the 'hugetlb "term is also (and mostly) used synonymously with a HugePage (See Note261889.1 ). in this document the term "HugePage" is going to beused but keep in mind that mostly "hugetlb" refers to the sameconcept.
-- Hugetlb is an entry in TLB that points to HugePage (a large page larger than 4 K or predefined ). HugePage is implemented through hugetlb entries. We can also say that HugePage is a handle of hugetlb page entry. In the MOS Document: Note 261889.1, the two concepts are almost the same.
(4) hugetlbfs: This is a newin-memory filesystem like tmpfs and is presented by 2.6 kernel. Pages allocatedon hugetlbfs type filesystem are allocated in HugePages.
-- Hugetlbfs is a new in-memory filesystem proposed in the 2.6 kernel, just like tmpfs.
1.2 common error concepts
WRONG: HugePages is a method to be able to use large SGA on 32-bit VLM systems |
RIGHT: HugePages is a method to have larger pages where it is useful for working with very large memory. It is both useful in 32-and 64-bit deployments |
WRONG: HugePages cannot be used without USE_INDIRECT_DATA_BUFFERS |
RIGHT: HugePages can be used without indirect buffers. 64-bit systems does not need to use indirect buffers to have a large buffer cache for the RDBMS instance and HugePages can be used there too. |
WRONG: hugetlbfs means hugetlb |
RIGHT: hugetlbfs is a filesystem type ** BUT ** hugetlb is the mechanic employed in the back where hugetlb can be employed WITHOUT hugetlbfs |
WRONG: hugetlbfs means hugepages |
RIGHT: hugetlbfs is a filesystem type ** BUT ** HugePages is the mechanic employed in the back (synonymously with hugetlb) where HugePages can be employed WITHOUT hugetlbfs. |