| 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/vm/slub.txt). |
| |
| 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 is read-only and specifies how many |
| objects have been allocated using the fast path. |
| 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 is read-only and specifies 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. |
| 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 is read-only and specifies how many |
| times the per-cpu freelist was empty but there were objects |
| available as the result of remote cpu frees. |
| 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 read-only and specifies how many times |
| a new slab had to be allocated from the page allocator. |
| 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 is read-only and specifies how many |
| objects have been allocated using the slow path because of a |
| refill or allocation from a partial or new slab. |
| 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 is read-only and specifies 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. |
| 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 file deactivate_empty is read-only and specifies how many |
| times an empty cpu slab was deactivated. |
| 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 file deactivate_full is read-only and specifies how many |
| times a full cpu slab was deactivated. |
| 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 file deactivate_remote_frees is read-only and specifies how |
| many times a cpu slab has been deactivated and contained free |
| objects that were freed remotely. |
| 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 file deactivate_to_head is read-only and specifies how |
| many times a partial cpu slab was deactivated and added to the |
| head of its node's partial list. |
| 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 file deactivate_to_tail is read-only and specifies how |
| many times a partial cpu slab was deactivated and added to the |
| tail of its node's partial list. |
| 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 file free_add_partial is read-only and specifies how many |
| times an object has been freed in a full slab so that it had to |
| added to its node's partial list. |
| 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/vm/slub.txt). |
| |
| 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 is read-only and specifies how many |
| objects have been freed using the fast path because it was an |
| object from the cpu slab. |
| 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 is read-only and specifies how many |
| objects have been freed to a frozen slab (i.e. a remote cpu |
| slab). |
| 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 file free_remove_partial is read-only and specifies 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. |
| 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 is read-only and specifies how many times an |
| empty slab has been freed back to the page allocator. |
| 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 is read-only and specifies how many |
| objects have been freed using the slow path (i.e. to a full or |
| partial slab). |
| 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. |
| |
| 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 file order_fallback is read-only and specifies 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. |
| 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 written when memory should be reclaimed from |
| a cache. Empty partial slabs are freed and the partial list is |
| sorted so the slabs with the fewest available objects are used |
| first. |
| |
| 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. |