1What: /sys/kernel/slab 2Date: May 2007 3KernelVersion: 2.6.22 4Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 5 Christoph Lameter <cl@linux-foundation.org> 6Description: 7 The /sys/kernel/slab directory contains a snapshot of the 8 internal state of the SLUB allocator for each cache. Certain 9 files may be modified to change the behavior of the cache (and 10 any cache it aliases, if any). 11Users: kernel memory tuning tools 12 13What: /sys/kernel/slab/cache/aliases 14Date: May 2007 15KernelVersion: 2.6.22 16Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 17 Christoph Lameter <cl@linux-foundation.org> 18Description: 19 The aliases file is read-only and specifies how many caches 20 have merged into this cache. 21 22What: /sys/kernel/slab/cache/align 23Date: May 2007 24KernelVersion: 2.6.22 25Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 26 Christoph Lameter <cl@linux-foundation.org> 27Description: 28 The align file is read-only and specifies the cache's object 29 alignment in bytes. 30 31What: /sys/kernel/slab/cache/alloc_calls 32Date: May 2007 33KernelVersion: 2.6.22 34Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 35 Christoph Lameter <cl@linux-foundation.org> 36Description: 37 The alloc_calls file is read-only and lists the kernel code 38 locations from which allocations for this cache were performed. 39 The alloc_calls file only contains information if debugging is 40 enabled for that cache (see Documentation/vm/slub.txt). 41 42What: /sys/kernel/slab/cache/alloc_fastpath 43Date: February 2008 44KernelVersion: 2.6.25 45Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 46 Christoph Lameter <cl@linux-foundation.org> 47Description: 48 The alloc_fastpath file is read-only and specifies how many 49 objects have been allocated using the fast path. 50 Available when CONFIG_SLUB_STATS is enabled. 51 52What: /sys/kernel/slab/cache/alloc_from_partial 53Date: February 2008 54KernelVersion: 2.6.25 55Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 56 Christoph Lameter <cl@linux-foundation.org> 57Description: 58 The alloc_from_partial file is read-only and specifies how 59 many times a cpu slab has been full and it has been refilled 60 by using a slab from the list of partially used slabs. 61 Available when CONFIG_SLUB_STATS is enabled. 62 63What: /sys/kernel/slab/cache/alloc_refill 64Date: February 2008 65KernelVersion: 2.6.25 66Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 67 Christoph Lameter <cl@linux-foundation.org> 68Description: 69 The alloc_refill file is read-only and specifies how many 70 times the per-cpu freelist was empty but there were objects 71 available as the result of remote cpu frees. 72 Available when CONFIG_SLUB_STATS is enabled. 73 74What: /sys/kernel/slab/cache/alloc_slab 75Date: February 2008 76KernelVersion: 2.6.25 77Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 78 Christoph Lameter <cl@linux-foundation.org> 79Description: 80 The alloc_slab file is read-only and specifies how many times 81 a new slab had to be allocated from the page allocator. 82 Available when CONFIG_SLUB_STATS is enabled. 83 84What: /sys/kernel/slab/cache/alloc_slowpath 85Date: February 2008 86KernelVersion: 2.6.25 87Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 88 Christoph Lameter <cl@linux-foundation.org> 89Description: 90 The alloc_slowpath file is read-only and specifies how many 91 objects have been allocated using the slow path because of a 92 refill or allocation from a partial or new slab. 93 Available when CONFIG_SLUB_STATS is enabled. 94 95What: /sys/kernel/slab/cache/cache_dma 96Date: May 2007 97KernelVersion: 2.6.22 98Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 99 Christoph Lameter <cl@linux-foundation.org> 100Description: 101 The cache_dma file is read-only and specifies whether objects 102 are from ZONE_DMA. 103 Available when CONFIG_ZONE_DMA is enabled. 104 105What: /sys/kernel/slab/cache/cpu_slabs 106Date: May 2007 107KernelVersion: 2.6.22 108Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 109 Christoph Lameter <cl@linux-foundation.org> 110Description: 111 The cpu_slabs file is read-only and displays how many cpu slabs 112 are active and their NUMA locality. 113 114What: /sys/kernel/slab/cache/cpuslab_flush 115Date: April 2009 116KernelVersion: 2.6.31 117Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 118 Christoph Lameter <cl@linux-foundation.org> 119Description: 120 The file cpuslab_flush is read-only and specifies how many 121 times a cache's cpu slabs have been flushed as the result of 122 destroying or shrinking a cache, a cpu going offline, or as 123 the result of forcing an allocation from a certain node. 124 Available when CONFIG_SLUB_STATS is enabled. 125 126What: /sys/kernel/slab/cache/ctor 127Date: May 2007 128KernelVersion: 2.6.22 129Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 130 Christoph Lameter <cl@linux-foundation.org> 131Description: 132 The ctor file is read-only and specifies the cache's object 133 constructor function, which is invoked for each object when a 134 new slab is allocated. 135 136What: /sys/kernel/slab/cache/deactivate_empty 137Date: February 2008 138KernelVersion: 2.6.25 139Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 140 Christoph Lameter <cl@linux-foundation.org> 141Description: 142 The file deactivate_empty is read-only and specifies how many 143 times an empty cpu slab was deactivated. 144 Available when CONFIG_SLUB_STATS is enabled. 145 146What: /sys/kernel/slab/cache/deactivate_full 147Date: February 2008 148KernelVersion: 2.6.25 149Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 150 Christoph Lameter <cl@linux-foundation.org> 151Description: 152 The file deactivate_full is read-only and specifies how many 153 times a full cpu slab was deactivated. 154 Available when CONFIG_SLUB_STATS is enabled. 155 156What: /sys/kernel/slab/cache/deactivate_remote_frees 157Date: February 2008 158KernelVersion: 2.6.25 159Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 160 Christoph Lameter <cl@linux-foundation.org> 161Description: 162 The file deactivate_remote_frees is read-only and specifies how 163 many times a cpu slab has been deactivated and contained free 164 objects that were freed remotely. 165 Available when CONFIG_SLUB_STATS is enabled. 166 167What: /sys/kernel/slab/cache/deactivate_to_head 168Date: February 2008 169KernelVersion: 2.6.25 170Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 171 Christoph Lameter <cl@linux-foundation.org> 172Description: 173 The file deactivate_to_head is read-only and specifies how 174 many times a partial cpu slab was deactivated and added to the 175 head of its node's partial list. 176 Available when CONFIG_SLUB_STATS is enabled. 177 178What: /sys/kernel/slab/cache/deactivate_to_tail 179Date: February 2008 180KernelVersion: 2.6.25 181Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 182 Christoph Lameter <cl@linux-foundation.org> 183Description: 184 The file deactivate_to_tail is read-only and specifies how 185 many times a partial cpu slab was deactivated and added to the 186 tail of its node's partial list. 187 Available when CONFIG_SLUB_STATS is enabled. 188 189What: /sys/kernel/slab/cache/destroy_by_rcu 190Date: May 2007 191KernelVersion: 2.6.22 192Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 193 Christoph Lameter <cl@linux-foundation.org> 194Description: 195 The destroy_by_rcu file is read-only and specifies whether 196 slabs (not objects) are freed by rcu. 197 198What: /sys/kernel/slab/cache/free_add_partial 199Date: February 2008 200KernelVersion: 2.6.25 201Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 202 Christoph Lameter <cl@linux-foundation.org> 203Description: 204 The file free_add_partial is read-only and specifies how many 205 times an object has been freed in a full slab so that it had to 206 added to its node's partial list. 207 Available when CONFIG_SLUB_STATS is enabled. 208 209What: /sys/kernel/slab/cache/free_calls 210Date: May 2007 211KernelVersion: 2.6.22 212Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 213 Christoph Lameter <cl@linux-foundation.org> 214Description: 215 The free_calls file is read-only and lists the locations of 216 object frees if slab debugging is enabled (see 217 Documentation/vm/slub.txt). 218 219What: /sys/kernel/slab/cache/free_fastpath 220Date: February 2008 221KernelVersion: 2.6.25 222Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 223 Christoph Lameter <cl@linux-foundation.org> 224Description: 225 The free_fastpath file is read-only and specifies how many 226 objects have been freed using the fast path because it was an 227 object from the cpu slab. 228 Available when CONFIG_SLUB_STATS is enabled. 229 230What: /sys/kernel/slab/cache/free_frozen 231Date: February 2008 232KernelVersion: 2.6.25 233Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 234 Christoph Lameter <cl@linux-foundation.org> 235Description: 236 The free_frozen file is read-only and specifies how many 237 objects have been freed to a frozen slab (i.e. a remote cpu 238 slab). 239 Available when CONFIG_SLUB_STATS is enabled. 240 241What: /sys/kernel/slab/cache/free_remove_partial 242Date: February 2008 243KernelVersion: 2.6.25 244Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 245 Christoph Lameter <cl@linux-foundation.org> 246Description: 247 The file free_remove_partial is read-only and specifies how 248 many times an object has been freed to a now-empty slab so 249 that it had to be removed from its node's partial list. 250 Available when CONFIG_SLUB_STATS is enabled. 251 252What: /sys/kernel/slab/cache/free_slab 253Date: February 2008 254KernelVersion: 2.6.25 255Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 256 Christoph Lameter <cl@linux-foundation.org> 257Description: 258 The free_slab file is read-only and specifies how many times an 259 empty slab has been freed back to the page allocator. 260 Available when CONFIG_SLUB_STATS is enabled. 261 262What: /sys/kernel/slab/cache/free_slowpath 263Date: February 2008 264KernelVersion: 2.6.25 265Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 266 Christoph Lameter <cl@linux-foundation.org> 267Description: 268 The free_slowpath file is read-only and specifies how many 269 objects have been freed using the slow path (i.e. to a full or 270 partial slab). 271 Available when CONFIG_SLUB_STATS is enabled. 272 273What: /sys/kernel/slab/cache/hwcache_align 274Date: May 2007 275KernelVersion: 2.6.22 276Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 277 Christoph Lameter <cl@linux-foundation.org> 278Description: 279 The hwcache_align file is read-only and specifies whether 280 objects are aligned on cachelines. 281 282What: /sys/kernel/slab/cache/min_partial 283Date: February 2009 284KernelVersion: 2.6.30 285Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 286 David Rientjes <rientjes@google.com> 287Description: 288 The min_partial file specifies how many empty slabs shall 289 remain on a node's partial list to avoid the overhead of 290 allocating new slabs. Such slabs may be reclaimed by utilizing 291 the shrink file. 292 293What: /sys/kernel/slab/cache/object_size 294Date: May 2007 295KernelVersion: 2.6.22 296Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 297 Christoph Lameter <cl@linux-foundation.org> 298Description: 299 The object_size file is read-only and specifies the cache's 300 object size. 301 302What: /sys/kernel/slab/cache/objects 303Date: May 2007 304KernelVersion: 2.6.22 305Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 306 Christoph Lameter <cl@linux-foundation.org> 307Description: 308 The objects file is read-only and displays how many objects are 309 active and from which nodes they are from. 310 311What: /sys/kernel/slab/cache/objects_partial 312Date: April 2008 313KernelVersion: 2.6.26 314Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 315 Christoph Lameter <cl@linux-foundation.org> 316Description: 317 The objects_partial file is read-only and displays how many 318 objects are on partial slabs and from which nodes they are 319 from. 320 321What: /sys/kernel/slab/cache/objs_per_slab 322Date: May 2007 323KernelVersion: 2.6.22 324Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 325 Christoph Lameter <cl@linux-foundation.org> 326Description: 327 The file objs_per_slab is read-only and specifies how many 328 objects may be allocated from a single slab of the order 329 specified in /sys/kernel/slab/cache/order. 330 331What: /sys/kernel/slab/cache/order 332Date: May 2007 333KernelVersion: 2.6.22 334Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 335 Christoph Lameter <cl@linux-foundation.org> 336Description: 337 The order file specifies the page order at which new slabs are 338 allocated. It is writable and can be changed to increase the 339 number of objects per slab. If a slab cannot be allocated 340 because of fragmentation, SLUB will retry with the minimum order 341 possible depending on its characteristics. 342 343What: /sys/kernel/slab/cache/order_fallback 344Date: April 2008 345KernelVersion: 2.6.26 346Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 347 Christoph Lameter <cl@linux-foundation.org> 348Description: 349 The file order_fallback is read-only and specifies how many 350 times an allocation of a new slab has not been possible at the 351 cache's order and instead fallen back to its minimum possible 352 order. 353 Available when CONFIG_SLUB_STATS is enabled. 354 355What: /sys/kernel/slab/cache/partial 356Date: May 2007 357KernelVersion: 2.6.22 358Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 359 Christoph Lameter <cl@linux-foundation.org> 360Description: 361 The partial file is read-only and displays how long many 362 partial slabs there are and how long each node's list is. 363 364What: /sys/kernel/slab/cache/poison 365Date: May 2007 366KernelVersion: 2.6.22 367Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 368 Christoph Lameter <cl@linux-foundation.org> 369Description: 370 The poison file specifies whether objects should be poisoned 371 when a new slab is allocated. 372 373What: /sys/kernel/slab/cache/reclaim_account 374Date: May 2007 375KernelVersion: 2.6.22 376Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 377 Christoph Lameter <cl@linux-foundation.org> 378Description: 379 The reclaim_account file specifies whether the cache's objects 380 are reclaimable (and grouped by their mobility). 381 382What: /sys/kernel/slab/cache/red_zone 383Date: May 2007 384KernelVersion: 2.6.22 385Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 386 Christoph Lameter <cl@linux-foundation.org> 387Description: 388 The red_zone file specifies whether the cache's objects are red 389 zoned. 390 391What: /sys/kernel/slab/cache/remote_node_defrag_ratio 392Date: January 2008 393KernelVersion: 2.6.25 394Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 395 Christoph Lameter <cl@linux-foundation.org> 396Description: 397 The file remote_node_defrag_ratio specifies the percentage of 398 times SLUB will attempt to refill the cpu slab with a partial 399 slab from a remote node as opposed to allocating a new slab on 400 the local node. This reduces the amount of wasted memory over 401 the entire system but can be expensive. 402 Available when CONFIG_NUMA is enabled. 403 404What: /sys/kernel/slab/cache/sanity_checks 405Date: May 2007 406KernelVersion: 2.6.22 407Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 408 Christoph Lameter <cl@linux-foundation.org> 409Description: 410 The sanity_checks file specifies whether expensive checks 411 should be performed on free and, at minimum, enables double free 412 checks. Caches that enable sanity_checks cannot be merged with 413 caches that do not. 414 415What: /sys/kernel/slab/cache/shrink 416Date: May 2007 417KernelVersion: 2.6.22 418Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 419 Christoph Lameter <cl@linux-foundation.org> 420Description: 421 The shrink file is written when memory should be reclaimed from 422 a cache. Empty partial slabs are freed and the partial list is 423 sorted so the slabs with the fewest available objects are used 424 first. 425 426What: /sys/kernel/slab/cache/slab_size 427Date: May 2007 428KernelVersion: 2.6.22 429Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 430 Christoph Lameter <cl@linux-foundation.org> 431Description: 432 The slab_size file is read-only and specifies the object size 433 with metadata (debugging information and alignment) in bytes. 434 435What: /sys/kernel/slab/cache/slabs 436Date: May 2007 437KernelVersion: 2.6.22 438Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 439 Christoph Lameter <cl@linux-foundation.org> 440Description: 441 The slabs file is read-only and displays how long many slabs 442 there are (both cpu and partial) and from which nodes they are 443 from. 444 445What: /sys/kernel/slab/cache/store_user 446Date: May 2007 447KernelVersion: 2.6.22 448Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 449 Christoph Lameter <cl@linux-foundation.org> 450Description: 451 The store_user file specifies whether the location of 452 allocation or free should be tracked for a cache. 453 454What: /sys/kernel/slab/cache/total_objects 455Date: April 2008 456KernelVersion: 2.6.26 457Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 458 Christoph Lameter <cl@linux-foundation.org> 459Description: 460 The total_objects file is read-only and displays how many total 461 objects a cache has and from which nodes they are from. 462 463What: /sys/kernel/slab/cache/trace 464Date: May 2007 465KernelVersion: 2.6.22 466Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 467 Christoph Lameter <cl@linux-foundation.org> 468Description: 469 The trace file specifies whether object allocations and frees 470 should be traced. 471 472What: /sys/kernel/slab/cache/validate 473Date: May 2007 474KernelVersion: 2.6.22 475Contact: Pekka Enberg <penberg@cs.helsinki.fi>, 476 Christoph Lameter <cl@linux-foundation.org> 477Description: 478 Writing to the validate file causes SLUB to traverse all of its 479 cache's objects and check the validity of metadata. 480