Go to main content

Oracle® Solaris 11.3 Tunable Parameters Reference Manual

Exit Print View

Updated: July 2017
 
 

ZFS Memory Management Parameters

This section describes parameters related to ZFS memory management.

user_reserve_hint_pct

Description

Informs the system about how much memory is reserved for application use, and therefore limits how much memory can be used by the ZFS ARC cache as the cache increases over time.

By means of this parameter, administrators can maintain a large reserve of available free memory for future application demands. The user_reserve_hint_pct parameter is intended to be used in place of the zfs_arc_max parameter to restrict the growth of the ZFS ARC cache.


Note -  Review Document 1663862.1, Memory Management Between ZFS and Applications in Oracle Solaris 11.2, in My Oracle Support (MOS) for guidance in tuning this parameter.
Data Type

Unsigned Integer (64-bit)

Default

0

If a dedicated system is used to run a set of applications with a known memory footprint, set the parameter to the value of that footprint, such as the sum of the SGA of Oracle database.

To assign a value to the parameter, run the script that is provided in Document 1663862.1 in My Oracle Support (MOS). To make the tuning persistent across reboots, refer to script output for instructions about using –p option.

Range

0-99

Units

Percent

Dynamic

Yes

You can adjust the setting of this parameter dynamically on a running system.

When to Change

For upward adjustments, increase the value if the initial value is determined to be insufficient over time for application requirements, or if application demand increases on the system. Perform this adjustment only within a scheduled system maintenance window. After you have changed the value, reboot the system.

For downward adjustments, decrease the value if allowed by application requirements. Make sure to use decrease the value only by small amounts, no greater than 5% at a time.

Commitment Level

Unstable

zfs_arc_min

Description

Determines the minimum size of the ZFS Adaptive Replacement Cache (ARC). See also zfs_arc_max.

Data Type

Unsigned Integer (64-bit)

Default

Approximately 0.4% of total memory (physmem)

Range

Default value to zfs_arc_max

Units

Bytes

Dynamic?

No

Validation

Yes, the range is validated.

When to Change

When a system's workload demand for memory fluctuates, the ZFS ARC caches data at a period of weak demand and then shrinks at a period of strong demand. However, ZFS does not shrink below the value of zfs_arc_min. Generally, you do not need to change the default value.

Commitment Level

Unstable

zfs_arc_max

Description

Determines the maximum size of the ZFS Adaptive Replacement Cache (ARC). However, see user_reserve_hint_pct.

See also zfs_arc_min.

Data Type

Unsigned Integer (64-bit)

Default

75% of memory on systems with less than 4 GB of memory

physmem minus 1 GB on systems with greater than 4 GB of memory

Range

Default value of zfs_arc_min to physmem

Units

Bytes

Dynamic?

No

Validation

Yes, the range is validated.

When to Change

If a future memory requirement is significantly large and well defined, you might consider reducing the value of this parameter to cap the ARC so that it does not compete with the memory requirement. For example, if you know that a future workload requires 20% of memory, it makes sense to cap the ARC such that it does not consume more than the remaining 80% of memory.

Commitment Level

Unstable