520 lines
18 KiB
Plaintext
520 lines
18 KiB
Plaintext
What: /sys/kernel/slab
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The /sys/kernel/slab directory contains a snapshot of the
|
|
internal state of the SLUB allocator for each cache. Certain
|
|
files may be modified to change the behavior of the cache (and
|
|
any cache it aliases, if any).
|
|
Users: kernel memory tuning tools
|
|
|
|
What: /sys/kernel/slab/<cache>/aliases
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The aliases file is read-only and specifies how many caches
|
|
have merged into this cache.
|
|
|
|
What: /sys/kernel/slab/<cache>/align
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The align file is read-only and specifies the cache's object
|
|
alignment in bytes.
|
|
|
|
What: /sys/kernel/slab/<cache>/alloc_calls
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The alloc_calls file is read-only and lists the kernel code
|
|
locations from which allocations for this cache were performed.
|
|
The alloc_calls file only contains information if debugging is
|
|
enabled for that cache (see Documentation/mm/slub.rst).
|
|
|
|
What: /sys/kernel/slab/<cache>/alloc_fastpath
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The alloc_fastpath file shows how many objects have been
|
|
allocated using the fast path. It can be written to clear the
|
|
current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/alloc_from_partial
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The alloc_from_partial file shows how many times a cpu slab has
|
|
been full and it has been refilled by using a slab from the list
|
|
of partially used slabs. It can be written to clear the current
|
|
count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/alloc_refill
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The alloc_refill file shows how many times the per-cpu freelist
|
|
was empty but there were objects available as the result of
|
|
remote cpu frees. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/alloc_slab
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The alloc_slab file is shows how many times a new slab had to
|
|
be allocated from the page allocator. It can be written to
|
|
clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/alloc_slowpath
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The alloc_slowpath file shows how many objects have been
|
|
allocated using the slow path because of a refill or
|
|
allocation from a partial or new slab. It can be written to
|
|
clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/cache_dma
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The cache_dma file is read-only and specifies whether objects
|
|
are from ZONE_DMA.
|
|
Available when CONFIG_ZONE_DMA is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/cpu_slabs
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The cpu_slabs file is read-only and displays how many cpu slabs
|
|
are active and their NUMA locality.
|
|
|
|
What: /sys/kernel/slab/<cache>/cpuslab_flush
|
|
Date: April 2009
|
|
KernelVersion: 2.6.31
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The file cpuslab_flush shows how many times a cache's cpu slabs
|
|
have been flushed as the result of destroying or shrinking a
|
|
cache, a cpu going offline, or as the result of forcing an
|
|
allocation from a certain node. It can be written to clear the
|
|
current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/ctor
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The ctor file is read-only and specifies the cache's object
|
|
constructor function, which is invoked for each object when a
|
|
new slab is allocated.
|
|
|
|
What: /sys/kernel/slab/<cache>/deactivate_empty
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The deactivate_empty file shows how many times an empty cpu slab
|
|
was deactivated. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/deactivate_full
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The deactivate_full file shows how many times a full cpu slab
|
|
was deactivated. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/deactivate_remote_frees
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The deactivate_remote_frees file shows how many times a cpu slab
|
|
has been deactivated and contained free objects that were freed
|
|
remotely. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/deactivate_to_head
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The deactivate_to_head file shows how many times a partial cpu
|
|
slab was deactivated and added to the head of its node's partial
|
|
list. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/deactivate_to_tail
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The deactivate_to_tail file shows how many times a partial cpu
|
|
slab was deactivated and added to the tail of its node's partial
|
|
list. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/destroy_by_rcu
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The destroy_by_rcu file is read-only and specifies whether
|
|
slabs (not objects) are freed by rcu.
|
|
|
|
What: /sys/kernel/slab/<cache>/free_add_partial
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_add_partial file shows how many times an object has
|
|
been freed in a full slab so that it had to added to its node's
|
|
partial list. It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/free_calls
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_calls file is read-only and lists the locations of
|
|
object frees if slab debugging is enabled (see
|
|
Documentation/mm/slub.rst).
|
|
|
|
What: /sys/kernel/slab/<cache>/free_fastpath
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_fastpath file shows how many objects have been freed
|
|
using the fast path because it was an object from the cpu slab.
|
|
It can be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/free_frozen
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_frozen file shows how many objects have been freed to
|
|
a frozen slab (i.e. a remote cpu slab). It can be written to
|
|
clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/free_remove_partial
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_remove_partial file shows how many times an object has
|
|
been freed to a now-empty slab so that it had to be removed from
|
|
its node's partial list. It can be written to clear the current
|
|
count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/free_slab
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_slab file shows how many times an empty slab has been
|
|
freed back to the page allocator. It can be written to clear
|
|
the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/free_slowpath
|
|
Date: February 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The free_slowpath file shows how many objects have been freed
|
|
using the slow path (i.e. to a full or partial slab). It can
|
|
be written to clear the current count.
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/hwcache_align
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The hwcache_align file is read-only and specifies whether
|
|
objects are aligned on cachelines.
|
|
|
|
What: /sys/kernel/slab/<cache>/min_partial
|
|
Date: February 2009
|
|
KernelVersion: 2.6.30
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
David Rientjes <rientjes@google.com>
|
|
Description:
|
|
The min_partial file specifies how many empty slabs shall
|
|
remain on a node's partial list to avoid the overhead of
|
|
allocating new slabs. Such slabs may be reclaimed by utilizing
|
|
the shrink file.
|
|
|
|
What: /sys/kernel/slab/<cache>/object_size
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The object_size file is read-only and specifies the cache's
|
|
object size.
|
|
|
|
What: /sys/kernel/slab/<cache>/objects
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The objects file is read-only and displays how many objects are
|
|
active and from which nodes they are from.
|
|
|
|
What: /sys/kernel/slab/<cache>/objects_partial
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The objects_partial file is read-only and displays how many
|
|
objects are on partial slabs and from which nodes they are
|
|
from.
|
|
|
|
What: /sys/kernel/slab/<cache>/objs_per_slab
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The file objs_per_slab is read-only and specifies how many
|
|
objects may be allocated from a single slab of the order
|
|
specified in /sys/kernel/slab/<cache>/order.
|
|
|
|
What: /sys/kernel/slab/<cache>/order
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The order file specifies the page order at which new slabs are
|
|
allocated. It is writable and can be changed to increase the
|
|
number of objects per slab. If a slab cannot be allocated
|
|
because of fragmentation, SLUB will retry with the minimum order
|
|
possible depending on its characteristics.
|
|
|
|
When debug_guardpage_minorder=N (N > 0) parameter is specified
|
|
(see Documentation/admin-guide/kernel-parameters.rst), the minimum possible
|
|
order is used and this sysfs entry can not be used to change
|
|
the order at run time.
|
|
|
|
What: /sys/kernel/slab/<cache>/order_fallback
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The order_fallback file shows how many times an allocation of a
|
|
new slab has not been possible at the cache's order and instead
|
|
fallen back to its minimum possible order. It can be written to
|
|
clear the current count.
|
|
|
|
Available when CONFIG_SLUB_STATS is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/partial
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The partial file is read-only and displays how long many
|
|
partial slabs there are and how long each node's list is.
|
|
|
|
What: /sys/kernel/slab/<cache>/poison
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The poison file specifies whether objects should be poisoned
|
|
when a new slab is allocated.
|
|
|
|
What: /sys/kernel/slab/<cache>/reclaim_account
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The reclaim_account file specifies whether the cache's objects
|
|
are reclaimable (and grouped by their mobility).
|
|
|
|
What: /sys/kernel/slab/<cache>/red_zone
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The red_zone file specifies whether the cache's objects are red
|
|
zoned.
|
|
|
|
What: /sys/kernel/slab/<cache>/remote_node_defrag_ratio
|
|
Date: January 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The file remote_node_defrag_ratio specifies the percentage of
|
|
times SLUB will attempt to refill the cpu slab with a partial
|
|
slab from a remote node as opposed to allocating a new slab on
|
|
the local node. This reduces the amount of wasted memory over
|
|
the entire system but can be expensive.
|
|
|
|
Available when CONFIG_NUMA is enabled.
|
|
|
|
What: /sys/kernel/slab/<cache>/sanity_checks
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The sanity_checks file specifies whether expensive checks
|
|
should be performed on free and, at minimum, enables double free
|
|
checks. Caches that enable sanity_checks cannot be merged with
|
|
caches that do not.
|
|
|
|
What: /sys/kernel/slab/<cache>/shrink
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The shrink file is used to reclaim unused slab cache
|
|
memory from a cache. Empty per-cpu or partial slabs
|
|
are freed and the partial list is sorted so the slabs
|
|
with the fewest available objects are used first.
|
|
It only accepts a value of "1" on write for shrinking
|
|
the cache. Other input values are considered invalid.
|
|
Shrinking slab caches might be expensive and can
|
|
adversely impact other running applications. So it
|
|
should be used with care.
|
|
|
|
What: /sys/kernel/slab/<cache>/slab_size
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The slab_size file is read-only and specifies the object size
|
|
with metadata (debugging information and alignment) in bytes.
|
|
|
|
What: /sys/kernel/slab/<cache>/slabs
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The slabs file is read-only and displays how long many slabs
|
|
there are (both cpu and partial) and from which nodes they are
|
|
from.
|
|
|
|
What: /sys/kernel/slab/<cache>/store_user
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The store_user file specifies whether the location of
|
|
allocation or free should be tracked for a cache.
|
|
|
|
What: /sys/kernel/slab/<cache>/total_objects
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The total_objects file is read-only and displays how many total
|
|
objects a cache has and from which nodes they are from.
|
|
|
|
What: /sys/kernel/slab/<cache>/trace
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
The trace file specifies whether object allocations and frees
|
|
should be traced.
|
|
|
|
What: /sys/kernel/slab/<cache>/validate
|
|
Date: May 2007
|
|
KernelVersion: 2.6.22
|
|
Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
|
|
Christoph Lameter <cl@linux-foundation.org>
|
|
Description:
|
|
Writing to the validate file causes SLUB to traverse all of its
|
|
cache's objects and check the validity of metadata.
|
|
|
|
What: /sys/kernel/slab/<cache>/usersize
|
|
Date: Jun 2017
|
|
Contact: David Windsor <dave@nullcore.net>
|
|
Description:
|
|
The usersize file is read-only and contains the usercopy
|
|
region size.
|
|
|
|
What: /sys/kernel/slab/<cache>/slabs_cpu_partial
|
|
Date: Aug 2011
|
|
Contact: Christoph Lameter <cl@linux.com>
|
|
Description:
|
|
This read-only file shows the number of partialli allocated
|
|
frozen slabs.
|
|
|
|
What: /sys/kernel/slab/<cache>/cpu_partial
|
|
Date: Aug 2011
|
|
Contact: Christoph Lameter <cl@linux.com>
|
|
Description:
|
|
This read-only file shows the number of per cpu partial
|
|
pages to keep around.
|