Difference between revisions of "Memory page"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(created)
 
(added C code to print pagesize on unix systems)
Line 2: Line 2:
  
 
Size of memory page is architecture and operating system dependant. On an x86 and x86_64 hardware, memory page is equal to 4KB. On an Intel Itanium (IA64) memory page size is 16KB.
 
Size of memory page is architecture and operating system dependant. On an x86 and x86_64 hardware, memory page is equal to 4KB. On an Intel Itanium (IA64) memory page size is 16KB.
 +
 +
You can get the actual value on your Linux/UNIX system with the '''getpagesize'''-Syscall. Here is a C Program that prints the pagesize on your system :
 +
 +
<code>
 +
#include <unistd.h>
 +
#include <stdio.h>
 +
 +
int main(int argc, char* argv[])
 +
{
 +
        long sz = sysconf(_SC_PAGESIZE);
 +
        printf("memory pagesize on this box : %i\n", sz);
 +
        return 0;
 +
}
 +
</code>
 +
 +
compile with : gcc -o getpagesize getpagesize.c
 +
  
 
[[Category:Definitions]]
 
[[Category:Definitions]]

Revision as of 00:34, 13 December 2006

Memory page is a range of consecutive addresses in the virtual address space whose size is a power of two. Those virtual addresses are translated in a corresponding range of consecutive physical addresses. The memory referenced by such a range is called a page.

Size of memory page is architecture and operating system dependant. On an x86 and x86_64 hardware, memory page is equal to 4KB. On an Intel Itanium (IA64) memory page size is 16KB.

You can get the actual value on your Linux/UNIX system with the getpagesize-Syscall. Here is a C Program that prints the pagesize on your system :

  1. include <unistd.h>
  2. include <stdio.h>

int main(int argc, char* argv[]) {

       long sz = sysconf(_SC_PAGESIZE);
       printf("memory pagesize on this box : %i\n", sz);
       return 0;

}

compile with : gcc -o getpagesize getpagesize.c