Linux on System z offers support for large pages. Right now they are not pageable, so only the required number should be allocated. There are two ways to enable it:
- Add hugepages=<npages> to the kernel parameter line, where npages is the number of 1M pages you want to allocate. So e.g. hugepages=1024 will allocate 1GB worth of memory as large pages.
- Dynamically: do a "echo <npages> > /proc/sys/vm/nr_hugepages" to receive npages worth of large pages. This only works if enough free memory is available that can be remapped as large pages. For 1GB of large pages "echo 1024 > /proc/sys/vm/nr_hugepages" will try to allocate them.
Note that if you are running in an environment, which does not support large pages, you can still enable them and get the memory savings as Linux will emulate large pages for the applications.
Finally if you are an application programmer and want to make use of large pages take a look at Documentation/vm/hugetlbpage.txt in the kernel source tree. There you find the supported interfaces for your kernel level.