Using large pages

A large page has a page size larger than 4K, such as a 1 MB or 2 GB page, and is a special-purpose performance feature for memory objects. 1 MB pages can be pageable or fixed, but 2 GB pages are always fixed.

To request large pages for backing a memory object, authorized programs and unauthorized programs with read authority to the IARRSM.LRGPAGES resource in the FACILITY class can specify the PAGEFRAMESIZE parameter when issuing the IARV64 GETSTOR request. Programs can choose to have the system acquire and permanently fix 1 MB pages when allocated or dynamically fix and unfix them by using the IARV64 PAGEFIX and PAGEUNFIX requests. For pageable 1 MB pages, the system uses 4K pages when a page is referenced and there is not enough contiguous storage to back the page with a 1 MB page. Authorized programs can also request large pages for common memory objects by using the PAGEFRAMESIZE parameter when issuing the IARV64 GETCOMMON request. 1 MB pageable pages can also be used to back dataspace storage by using the PAGEFRAMESIZE parameter on the DSPSERV service.

The system programmer should carefully consider the following factors while determining which applications are to be granted access to large pages:
  • Memory usage
  • Page translation overhead for the workload
  • Availability of fixed 1 MB and 2 GB pages
Long-running memory-intensive applications benefit most from using large pages. Short-lived processes with a small memory working set are not good candidates. The system programmer uses the LFAREA system parameter to define the amount of real storage that can be used for 2 GB pages and 1 MB fixed pages that are initially obtained via the IARV64 service. See IEASYSxx (system parameter list) in z/OS® MVS Initialization and Tuning Reference.