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