Difference between revisions of "Memory page"
(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 :
- 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;
}
compile with : gcc -o getpagesize getpagesize.c