On Windows® operating systems, NTFS will generally use a cluster size of 4K, so formatting to 512 is not useful except for applications that are compatible only with 512-byte sector sizes (such as Windows® XP and Windows Server® 2003).

The indicated amount is needed per IO Accelerator that supports paging. You must carefully plan which IO Accelerators are used to hold a paging file.

Non-paged memory pool

Pre-allocated memory for the IO Accelerator comes from the Windows kernel non-paged memory pool. This pool dynamically grows as system components consume additional kernel memory. The maximum size of this pool is restricted as follows:

Windows Server 2003, 2008 R1/R2, 2012—75% of RAM up to a maximum of 128GB.

Windows Vista and Windows 7—40% of RAM up to a maximum of 128GB.

The amount of in-use non-paged pool memory should be noted when planning page file usage. This is because the IO Accelerator preallocates RAM and that reduces the available physical non-paged memory. The driver fails to load if the total preallocated memory plus the in-use non-paged memory exceeds the maximum non-paged memory pool.

To determine the total non-paged memory pool use for two IO Accelerators, use the following example:

One IO Accelerator is 80GB and the other is 160GB

Both are formatted with a 4K sector size

Both will support paging files

The current allocated non-paged pool is obtained from Task Manager and, in this example, has a value of 576 MiB. (Values shown in Task Manager are in MiB (1024x1024 = 1 MiB)). The total RAM on the system is 8,196 MiB and the operating is Windows Server 2008 R2.

To calculate the total available non-paged pool, use the following formula:

(8196 MiB x 0.75) - 576 - 284 (80GB IO Accelerator) - 569 (160GB IO Accelerator)

This still leaves 4,718 MiB available for non-paged pool.

Enabling and disabling paging support

Memory preallocation occurs during IO Accelerator driver initialization. To enable paging support, you must enable the FIO_PREALLOCATE_MEMORY configuration item. This can be done using the fio-configcommand-line utility. This parameter is assigned a string with a list of decimal serial numbers of the IO Accelerators that will support a paging file. The driver performs memory preallocation for those instances.

The following example illustrates using the fio-configutility, which enables paging and preallocation on two IO Accelerators with serial numbers 1234 and 17834. Serial number information can be obtained using the fio-statusutility.

fio-config -p FIO_PREALLOCATE_MEMORY "1234,17834"

To disable paging support on all drives, use a value of 0 for FIO_PREALLOCATE_MEMORY:

fio-config -p FIO_PREALLOCATE_MEMORY "0"

To query the current value, run this command:

fio-config -g FIO_PREALLOCATE_MEMORY

Using Windows page files with the IO Accelerator 61