GCACHE(8)

NAME
gcache - control utility for CACHE GEOM class

SYNOPSIS
gcache create [-v] [-b blocksize] [-s size] name prov
gcache configure [-v] [-b blocksize] [-s size] name
gcache destroy [-fv] name
gcache label [-v] [-b blocksize] [-s size] name prov
gcache stop [-fv] name ...
gcache clear [-v] prov ...
gcache dump prov ...
gcache list
gcache status [-s name]
gcache load [-v]
gcache unload [-v]

DESCRIPTION
The gcache utility is used to control GEOM cache, which can speed up read performance by sending fixed size read requests to its consumer. It has been developed to address the problem of a horrible read performance of a 64 KiB blocksize FS residing on a RAID3 array with 8 data components, where a single disk component would only get 8 KiB read requests, thus effectively killing disk performance under high load.

Caching can be configured using two different methods: “manual” or “automatic”. When using the “manual” method, no metadata are stored on the devices, so the cached device has to be configured by hand every time it is needed. The “automatic” method uses on-disk metadata to detect devices. Once devices are labeled, they will be automatically detected and configured.

The first argument to gcache indicates an action to be performed:

create
    Cache the given devices with specified name. This is the “manual” method. The kernel module geom_cache.ko will be loaded if it is not loaded already.

label
    Cache the given devices with the specified name. This is the “automatic” method, where metadata are stored in every device's last sector. The kernel module geom_cache.ko will be loaded if it is not loaded already.

stop
    Turn off existing cache device by its name. This command does not touch on-disk metadata!

destroy
    Same as stop.

clear
    Clear metadata on the given devices.

dump
    Dump metadata stored on the given devices.

list
    See geom(8).

status
    See geom(8).

load
    See geom(8).

unload
    See geom(8).

Additional options:

-f  Force the removal of the specified cache device.

-v  Be more verbose.

SYSCTL VARIABLES
The following sysctl(8) variables can be used to control the behavior of the CACHE GEOM class. The default value is shown next to each variable.

kern.geom.cache.used_hi: 20

kern.geom.cache.used_lo: 5

kern.geom.cache.idletime: 5

kern.geom.cache.timeout: 10

kern.geom.cache.enable: 1

kern.geom.cache.debug: 0
    Debug level of the CACHE GEOM class. This can be set to a number between 0 and 3 inclusive. If set to 0 minimal debug information is printed, and if set to 3 the maximum amount of debug information is printed.

EXIT STATUS
Exit status is 0 on success, and 1 if the command fails.

SEE ALSO
geom(4), geom(8)

HISTORY
The gcache utility appeared in FreeBSD 7.0.

AUTHORS
Ruslan Ermilov <ru@FreeBSD.org>