2127:
395:
2576:
2566:
2556:
2546:
2536:
2139:
2113:
409:
294:, which specifies the maximum percentage of total system RAM that can be occupied by the pool. The memory pool is not preallocated to its configured maximum size, and instead grows and shrinks as required. When the configured maximum pool size is reached as the result of performed swapping, or when growing the pool is impossible due to an
239:, which is a mechanism of the Linux kernel that abstracts various types of storage that can be used as swap space. As a result, zswap operates as a backend driver for frontswap by providing what is internally visible as a pseudo-RAM device. In other words, the frontswap API makes zswap capable of intercepting
324:", hence the allocator name) per physical memory page, which brings both advantages due to easy coalescing and reusing of freed space, and disadvantages due to possible lower memory utilization. However, as a result of its design, zbud cannot
306:(LRU) basis. This approach makes zswap a true swap cache, as the oldest cached pages are evicted to a swap device once the cache is full, making room for newer swapped pages to be compressed and cached.
488:
1689:
2665:
336:
Both zswap and zbud were created by Seth
Jennings. The first public announcement was in December 2012, and the development continued until May 2013 at which point the
978:
2516:
2612:
2177:
1778:
320:'s zcache, which is another virtual memory compression implementation for the Linux kernel. Internally, zbud works by storing up to two compressed pages ("
1773:
813:
683:
627:
2225:
262:
supported by the Linux kernel. The selection of the desired compression module can be performed dynamically at the boot time through the value of
3127:
903:
2941:
2912:
2569:
2373:
2197:
2559:
2131:
400:
654:
2579:
383:
in kernel version 4.14. Though, as a result of its design, at least one already existing swap device is required for zswap to be used.
353:
Since version 6.8 of the Linux kernel, which was released on March 11, 2024, zswap supports disabling writeback for specific cgroups.
247:
for the already swapped pages; the access to those two paths allows zswap to act as a compressed write-back cache for swapped pages.
1510:
1278:
2716:
2660:
258:, which makes it possible, for example, to offload the compression tasks from the main CPU using any of the hardware compression
2635:
2605:
2396:
2170:
1008:
3132:
2828:
2726:
2521:
1620:
108:
948:
350:
Since version 3.15 of the Linux kernel, which was released on June 8, 2014, zswap properly supports multiple swap devices.
270:
3106:
2655:
2640:
2054:
273:(LZO) compression. As of version 3.13 of the Linux kernel, zswap also needs to be explicitly enabled by specifying value
180:. Later writeback to the actual swap device is deferred or even completely avoided, resulting in a significantly reduced
2701:
2686:
2645:
2381:
2219:
1935:
983:
263:
2867:
2814:
2358:
1337:
2416:
839:
3137:
2882:
2721:
2598:
2539:
2426:
2406:
2259:
2163:
2036:
1850:
968:
896:
161:
316:
used internally by zswap for storing compressed pages, implemented as a rewrite of the zbud allocator used by the
2917:
2736:
2696:
2691:
2650:
2485:
2041:
1683:
1019:
2960:
2847:
2711:
2345:
1604:
1589:
1505:
1293:
1098:
84:
365:, which provides a similar but still different "swap compressed pages to RAM" mechanism to the Linux kernel.
3142:
2706:
2549:
2411:
2386:
2292:
1947:
1746:
1382:
1270:
1225:
1175:
1159:
1136:
432:
321:
2363:
958:
3094:
3033:
2922:
2902:
2851:
2809:
2315:
2213:
2092:
2069:
2064:
1899:
1865:
1855:
1727:
1672:
1549:
1088:
251:
2877:
2843:
2745:
2681:
2143:
2046:
889:
344:
259:
2391:
761:
3074:
3048:
2076:
1678:
1240:
938:
3043:
2995:
2872:
2269:
1872:
1351:
1210:
1144:
303:
212:
192:
103:
814:"Linux kernel source tree: kernel/git/torvalds/linux.git: mm/zswap: support multiple swap devices"
517:
2980:
2887:
2511:
2495:
2421:
2026:
1860:
1446:
1346:
1283:
1205:
1200:
988:
317:
255:
3089:
3038:
2970:
2927:
2768:
2287:
2186:
1997:
1645:
1615:
1610:
1461:
1116:
1078:
422:
325:
204:
153:
375:
In comparison, zswap acts as a RAM-based cache for swap devices. This provides zswap with an
3069:
2621:
2464:
2459:
2302:
1751:
1313:
1034:
1024:
933:
313:
169:
115:
91:
3013:
2975:
2946:
2454:
2353:
1987:
1655:
1436:
196:
787:
340:
reached its maturity although still having the status of an experimental kernel feature.
549:
3099:
3023:
2985:
2857:
2469:
2436:
2431:
2277:
2236:
2017:
1922:
1833:
1710:
1705:
1700:
1695:
1478:
1303:
1298:
943:
576:
376:
299:
228:
735:
709:
3121:
2965:
2804:
2758:
2446:
2249:
2244:
1952:
1768:
1574:
1564:
1323:
1195:
1073:
295:
2892:
2117:
1838:
1756:
1650:
1594:
953:
912:
414:
379:
mechanism for less used swapped pages, which zram lacked until the introduction of
369:
208:
146:
328:
more memory space than it would be originally occupied by the uncompressed pages.
840:"zswap: memcontrol: implement zswap writeback disabling · torvalds/linux@501a06f"
184:
for Linux systems that require swapping; the tradeoff is the need for additional
3018:
3000:
2783:
2773:
2763:
2490:
1843:
1736:
1318:
1215:
240:
191:
As a result of reduced I/O, zswap offers advantages to various devices that use
173:
165:
2254:
1930:
1905:
1892:
1797:
1785:
1715:
1625:
1111:
1014:
973:
817:
687:
631:
553:
427:
390:
372:
using RAM for storing data, which acts as a regular and separate swap device.
284:
The maximum size of the memory pool used by zswap is configurable through the
244:
216:
150:
52:
2955:
2862:
2788:
2753:
2401:
2282:
1792:
1761:
1630:
1466:
1255:
1126:
1083:
655:"Zcache and RAMster (oh, and frontswap too): Overview and some benchmarking"
628:"Linux kernel source tree: kernel/git/torvalds/linux.git: zswap: add to mm/"
684:"Linux kernel source tree: kernel/git/torvalds/linux.git: zbud: add to mm/"
203:
and similar low-end hardware devices, as well as to other devices that use
3084:
2335:
2330:
2320:
2310:
1910:
1731:
1720:
1640:
1584:
1579:
1525:
1473:
1362:
1288:
521:
337:
3079:
3008:
2778:
2325:
1992:
1977:
1887:
1877:
1817:
1741:
1635:
1559:
1500:
1414:
1377:
1308:
1250:
1245:
1149:
1106:
862:
606:
463:
200:
168:
to a swap device when they are to be swapped out, zswap performs their
120:
17:
1982:
1967:
1957:
1812:
1807:
1569:
1520:
1493:
1456:
1426:
1393:
1372:
1121:
1068:
963:
157:
2590:
2155:
858:
602:
577:"Frontswap [PATCH 0/4] (was Transcendent Memory): Overview"
459:
3028:
2112:
1802:
1599:
1554:
1515:
1483:
1451:
1409:
1404:
1367:
1235:
1230:
1190:
1185:
408:
286:
96:
31:
347:
in kernel version 3.11, which was released on
September 2, 2013.
1882:
1660:
1488:
1419:
1063:
362:
38:
2594:
2159:
885:
881:
3064:
1962:
1940:
762:"Linux kernel 3.11, Section 9. Zswap: A compressed swap cache"
492:
243:
while they are being swapped out, and capable of intercepting
232:
185:
181:
177:
550:"Linux kernel documentation: Documentation/vm/zswap.txt"
368:
The main difference is that zram provides a compressed
2198:
Memory management as a function of an operating system
131:
227:
zswap is integrated into the rest of Linux kernel's
3057:
2994:
2940:
2901:
2836:
2827:
2797:
2744:
2735:
2674:
2628:
2504:
2478:
2445:
2372:
2344:
2301:
2268:
2235:
2206:
2085:
2025:
2016:
1921:
1826:
1542:
1435:
1345:
1336:
1269:
1174:
1167:
1158:
1135:
1097:
1056:
1049:
997:
926:
919:
126:
114:
102:
90:
80:
61:
51:
511:
509:
482:
480:
788:"Linux kernel 3.15, Section 4. Memory management"
30:"Zcache" redirects here. Not to be confused with
343:zswap (together with zbud) was merged into the
2606:
2171:
897:
544:
542:
540:
538:
302:from the memory pool to a swap device on the
8:
2517:International Symposium on Memory Management
453:
451:
449:
447:
46:
489:"New Linux zswap compression functionality"
2833:
2741:
2613:
2599:
2591:
2178:
2164:
2156:
2022:
1918:
1342:
1171:
1164:
1053:
923:
904:
890:
882:
215:, so avoiding it to be used for providing
45:
518:"Zswap Merged Into The Linux 3.11 Kernel"
2132:Free and open-source software portal
1690:Earliest eligible virtual deadline first
443:
219:prevents it from wearing out quickly.
7:
487:Jenifer Hopper (December 11, 2012).
401:Free and open-source software portal
361:One of the alternatives to zswap is
176:dynamically allocated in the system
2226:Input–output memory management unit
458:Seth Jennings (February 12, 2013).
269:; if not specified, it selects the
250:Internally, zswap uses compression
188:cycles to perform the compression.
149:feature that provides a compressed
653:Dan Magenheimer (March 29, 2012).
575:Dan Magenheimer (April 22, 2010).
25:
857:Dan Magenheimer (April 3, 2013).
736:" zswap: compressed swap caching"
710:" zswap: compressed swap caching"
516:Michael Larabel (July 11, 2013).
460:"The zswap compressed swap cache"
2717:Object-oriented operating system
2575:
2574:
2565:
2564:
2555:
2554:
2545:
2544:
2535:
2534:
2138:
2137:
2125:
2111:
979:Supported computer architectures
407:
393:
27:Linux memory compression feature
2397:Concurrent mark sweep collector
1009:The Linux Programming Interface
601:Jonathan Corbet (May 4, 2010).
254:provided by the Linux kernel's
2727:Supercomputer operating system
2522:Region-based memory management
859:"In-kernel memory compression"
277:for the kernel boot parameter
211:has a limited lifespan due to
1:
3128:Free software programmed in C
298:condition, swapped pages are
2702:Just enough operating system
2687:Distributed operating system
2570:Memory management algorithms
2382:Automatic Reference Counting
2220:Translation lookaside buffer
172:and then stores them into a
2815:User space and kernel space
2560:Automatic memory management
2359:C dynamic memory allocation
3159:
2722:Real-time operating system
2580:Memory management software
2427:Tracing garbage collection
2260:Virtual memory compression
1851:High-performance computing
1673:Process and I/O schedulers
603:"Cleancache and Frontswap"
162:virtual memory compression
36:
29:
2918:Multilevel feedback queue
2913:Fixed-priority preemptive
2697:Hobbyist operating system
2692:Embedded operating system
2530:
2193:
2105:
1684:Completely Fair Scheduler
949:Tanenbaum–Torvalds debate
2961:General protection fault
2712:Network operating system
2666:User features comparison
2354:Static memory allocation
2346:Manual memory management
1605:Kernel same-page merging
57:Seth Jennings and others
37:Not to be confused with
2707:Mobile operating system
2412:Garbage-first collector
2387:Boehm garbage collector
2293:x86 memory segmentation
1948:OS-level virtualization
433:Swap partitions on SSDs
2810:Loadable kernel module
2417:Mark–compact algorithm
2214:Memory management unit
2093:List of Linux adopters
1035:Linux User Group (LUG)
67:; 11 years ago
65:September 2, 2013
3133:Linux kernel features
2878:Process control block
2844:Computer multitasking
2682:Disk operating system
381:CONFIG_ZRAM_WRITEBACK
345:Linux kernel mainline
312:is a special-purpose
264:kernel boot parameter
109:Linux kernel features
3049:Virtual tape library
2641:Forensic engineering
2364:new and delete (C++)
1679:Brain Fuck Scheduler
939:Linux Mark Institute
271:Lempel–Ziv–Oberhumer
231:subsystem using the
207:(SSDs) for storage.
164:. Instead of moving
160:pages, as a form of
3058:Supporting concepts
3044:Virtual file system
2270:Memory segmentation
1873:Real-time computing
1145:Linux Standard Base
768:. September 2, 2013
716:. December 11, 2012
556:. November 22, 2013
304:least recently used
193:flash-based storage
48:
2981:Segmentation fault
2829:Process management
2512:Automatic variable
2496:Unreachable memory
2422:Reference counting
2392:Cheney's algorithm
2374:Garbage collection
1861:Compute Node Linux
1447:C standard library
205:solid-state drives
3138:Memory management
3115:
3114:
2971:Memory protection
2942:Memory management
2936:
2935:
2928:Shortest job next
2823:
2822:
2622:Operating systems
2588:
2587:
2540:Memory management
2288:Virtual 8086 mode
2187:Memory management
2153:
2152:
2101:
2100:
2012:
2011:
2008:
2007:
1646:Network scheduler
1538:
1537:
1534:
1533:
1332:
1331:
1079:Linux kernel oops
1045:
1044:
1025:Linux conferences
792:kernelnewbies.org
766:kernelnewbies.org
423:Cache (computing)
140:
139:
16:(Redirected from
3150:
3070:Computer network
2834:
2742:
2615:
2608:
2601:
2592:
2578:
2577:
2568:
2567:
2558:
2557:
2548:
2547:
2538:
2537:
2465:Dangling pointer
2460:Buffer over-read
2432:Strong reference
2303:Memory allocator
2180:
2173:
2166:
2157:
2141:
2140:
2130:
2129:
2128:
2118:Linux portal
2116:
2115:
2023:
1919:
1728:Security Modules
1343:
1172:
1165:
1054:
934:Linux Foundation
924:
906:
899:
892:
883:
874:
873:
871:
869:
854:
848:
847:
836:
830:
829:
827:
825:
810:
804:
803:
801:
799:
784:
778:
777:
775:
773:
758:
752:
751:
749:
747:
732:
726:
725:
723:
721:
706:
700:
699:
697:
695:
680:
674:
673:
671:
669:
659:
650:
644:
643:
641:
639:
624:
618:
617:
615:
613:
598:
592:
591:
589:
587:
572:
566:
565:
563:
561:
546:
533:
532:
530:
528:
513:
504:
503:
501:
499:
484:
475:
474:
472:
470:
455:
417:
412:
411:
403:
398:
397:
396:
382:
314:memory allocator
293:
292:max_pool_percent
289:
280:
276:
268:
267:zswap.compressor
197:embedded devices
136:
133:
92:Operating system
75:
73:
68:
49:
21:
3158:
3157:
3153:
3152:
3151:
3149:
3148:
3147:
3118:
3117:
3116:
3111:
3053:
3014:Defragmentation
2999:
2990:
2976:Protection ring
2945:
2932:
2904:
2897:
2819:
2793:
2731:
2670:
2624:
2619:
2589:
2584:
2526:
2500:
2474:
2455:Buffer overflow
2441:
2368:
2340:
2297:
2264:
2231:
2202:
2189:
2184:
2154:
2149:
2126:
2124:
2110:
2097:
2081:
2028:
2004:
1988:User-mode Linux
1917:
1822:
1530:
1438:
1431:
1350:
1328:
1265:
1177:
1154:
1131:
1093:
1041:
993:
984:Version history
915:
910:
879:
877:
867:
865:
856:
855:
851:
838:
837:
833:
823:
821:
820:. April 7, 2014
812:
811:
807:
797:
795:
786:
785:
781:
771:
769:
760:
759:
755:
745:
743:
734:
733:
729:
719:
717:
708:
707:
703:
693:
691:
690:. July 11, 2013
682:
681:
677:
667:
665:
657:
652:
651:
647:
637:
635:
634:. July 11, 2013
626:
625:
621:
611:
609:
600:
599:
595:
585:
583:
574:
573:
569:
559:
557:
548:
547:
536:
526:
524:
515:
514:
507:
497:
495:
486:
485:
478:
468:
466:
457:
456:
445:
441:
413:
406:
399:
394:
392:
389:
380:
359:
334:
291:
285:
278:
274:
266:
225:
130:
71:
69:
66:
62:Initial release
42:
35:
28:
23:
22:
15:
12:
11:
5:
3156:
3154:
3146:
3145:
3143:Virtual memory
3140:
3135:
3130:
3120:
3119:
3113:
3112:
3110:
3109:
3104:
3103:
3102:
3100:User interface
3097:
3087:
3082:
3077:
3072:
3067:
3061:
3059:
3055:
3054:
3052:
3051:
3046:
3041:
3036:
3031:
3026:
3024:File attribute
3021:
3016:
3011:
3005:
3003:
2992:
2991:
2989:
2988:
2986:Virtual memory
2983:
2978:
2973:
2968:
2963:
2958:
2952:
2950:
2938:
2937:
2934:
2933:
2931:
2930:
2925:
2920:
2915:
2909:
2907:
2899:
2898:
2896:
2895:
2890:
2885:
2880:
2875:
2870:
2865:
2860:
2858:Context switch
2855:
2840:
2838:
2831:
2825:
2824:
2821:
2820:
2818:
2817:
2812:
2807:
2801:
2799:
2795:
2794:
2792:
2791:
2786:
2781:
2776:
2771:
2766:
2761:
2756:
2750:
2748:
2739:
2733:
2732:
2730:
2729:
2724:
2719:
2714:
2709:
2704:
2699:
2694:
2689:
2684:
2678:
2676:
2672:
2671:
2669:
2668:
2663:
2658:
2653:
2648:
2643:
2638:
2632:
2630:
2626:
2625:
2620:
2618:
2617:
2610:
2603:
2595:
2586:
2585:
2583:
2582:
2572:
2562:
2552:
2550:Virtual memory
2542:
2531:
2528:
2527:
2525:
2524:
2519:
2514:
2508:
2506:
2502:
2501:
2499:
2498:
2493:
2488:
2482:
2480:
2476:
2475:
2473:
2472:
2470:Stack overflow
2467:
2462:
2457:
2451:
2449:
2443:
2442:
2440:
2439:
2437:Weak reference
2434:
2429:
2424:
2419:
2414:
2409:
2404:
2399:
2394:
2389:
2384:
2378:
2376:
2370:
2369:
2367:
2366:
2361:
2356:
2350:
2348:
2342:
2341:
2339:
2338:
2333:
2328:
2323:
2318:
2313:
2307:
2305:
2299:
2298:
2296:
2295:
2290:
2285:
2280:
2278:Protected mode
2274:
2272:
2266:
2265:
2263:
2262:
2257:
2252:
2247:
2241:
2239:
2237:Virtual memory
2233:
2232:
2230:
2229:
2223:
2217:
2210:
2208:
2204:
2203:
2201:
2200:
2194:
2191:
2190:
2185:
2183:
2182:
2175:
2168:
2160:
2151:
2150:
2148:
2147:
2135:
2121:
2106:
2103:
2102:
2099:
2098:
2096:
2095:
2089:
2087:
2083:
2082:
2080:
2079:
2074:
2073:
2072:
2067:
2059:
2058:
2057:
2049:
2044:
2039:
2033:
2031:
2020:
2014:
2013:
2010:
2009:
2006:
2005:
2003:
2002:
2001:
2000:
1995:
1990:
1985:
1980:
1972:
1971:
1970:
1965:
1960:
1955:
1945:
1944:
1943:
1938:
1927:
1925:
1923:Virtualization
1916:
1915:
1914:
1913:
1908:
1897:
1896:
1895:
1890:
1885:
1880:
1870:
1869:
1868:
1863:
1858:
1848:
1847:
1846:
1841:
1830:
1828:
1824:
1823:
1821:
1820:
1815:
1810:
1805:
1800:
1795:
1789:
1788:
1783:
1782:
1781:
1776:
1769:Device drivers
1765:
1764:
1759:
1754:
1749:
1744:
1739:
1734:
1724:
1723:
1718:
1713:
1711:SCHED_DEADLINE
1708:
1706:O(1) scheduler
1703:
1701:O(n) scheduler
1698:
1696:Noop scheduler
1693:
1687:
1681:
1676:
1669:
1668:
1663:
1658:
1653:
1648:
1643:
1638:
1633:
1628:
1623:
1618:
1613:
1608:
1602:
1597:
1592:
1587:
1582:
1577:
1572:
1567:
1562:
1557:
1552:
1550:Kernel modules
1546:
1544:
1540:
1539:
1536:
1535:
1532:
1531:
1529:
1528:
1523:
1518:
1513:
1508:
1503:
1498:
1497:
1496:
1491:
1486:
1481:
1476:
1471:
1470:
1469:
1459:
1454:
1443:
1441:
1433:
1432:
1430:
1429:
1424:
1423:
1422:
1412:
1407:
1402:
1399:
1396:
1391:
1388:
1385:
1380:
1375:
1370:
1365:
1360:
1356:
1354:
1340:
1334:
1333:
1330:
1329:
1327:
1326:
1321:
1316:
1311:
1306:
1304:Memory barrier
1301:
1296:
1291:
1286:
1281:
1275:
1273:
1267:
1266:
1264:
1263:
1262:
1261:
1258:
1253:
1248:
1243:
1238:
1233:
1223:
1222:
1221:
1218:
1213:
1208:
1203:
1198:
1193:
1182:
1180:
1169:
1162:
1156:
1155:
1153:
1152:
1147:
1141:
1139:
1133:
1132:
1130:
1129:
1124:
1119:
1114:
1109:
1103:
1101:
1095:
1094:
1092:
1091:
1086:
1081:
1076:
1071:
1066:
1060:
1058:
1051:
1047:
1046:
1043:
1042:
1040:
1039:
1038:
1037:
1029:
1028:
1027:
1022:
1017:
1012:
1001:
999:
995:
994:
992:
991:
986:
981:
976:
971:
966:
961:
956:
951:
946:
941:
936:
930:
928:
921:
917:
916:
911:
909:
908:
901:
894:
886:
876:
875:
849:
831:
805:
794:. June 8, 2014
779:
753:
727:
701:
675:
662:oss.oracle.com
645:
619:
593:
567:
534:
505:
476:
442:
440:
437:
436:
435:
430:
425:
419:
418:
404:
388:
385:
358:
355:
333:
330:
229:virtual memory
224:
221:
138:
137:
128:
124:
123:
118:
112:
111:
106:
100:
99:
94:
88:
87:
82:
78:
77:
63:
59:
58:
55:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
3155:
3144:
3141:
3139:
3136:
3134:
3131:
3129:
3126:
3125:
3123:
3108:
3105:
3101:
3098:
3096:
3093:
3092:
3091:
3088:
3086:
3083:
3081:
3078:
3076:
3073:
3071:
3068:
3066:
3063:
3062:
3060:
3056:
3050:
3047:
3045:
3042:
3040:
3037:
3035:
3032:
3030:
3027:
3025:
3022:
3020:
3017:
3015:
3012:
3010:
3007:
3006:
3004:
3002:
2997:
2993:
2987:
2984:
2982:
2979:
2977:
2974:
2972:
2969:
2967:
2966:Memory paging
2964:
2962:
2959:
2957:
2954:
2953:
2951:
2948:
2943:
2939:
2929:
2926:
2924:
2921:
2919:
2916:
2914:
2911:
2910:
2908:
2906:
2900:
2894:
2891:
2889:
2886:
2884:
2881:
2879:
2876:
2874:
2871:
2869:
2866:
2864:
2861:
2859:
2856:
2853:
2849:
2845:
2842:
2841:
2839:
2835:
2832:
2830:
2826:
2816:
2813:
2811:
2808:
2806:
2805:Device driver
2803:
2802:
2800:
2796:
2790:
2787:
2785:
2782:
2780:
2777:
2775:
2772:
2770:
2767:
2765:
2762:
2760:
2757:
2755:
2752:
2751:
2749:
2747:
2746:Architectures
2743:
2740:
2738:
2734:
2728:
2725:
2723:
2720:
2718:
2715:
2713:
2710:
2708:
2705:
2703:
2700:
2698:
2695:
2693:
2690:
2688:
2685:
2683:
2680:
2679:
2677:
2673:
2667:
2664:
2662:
2659:
2657:
2654:
2652:
2649:
2647:
2644:
2642:
2639:
2637:
2634:
2633:
2631:
2627:
2623:
2616:
2611:
2609:
2604:
2602:
2597:
2596:
2593:
2581:
2573:
2571:
2563:
2561:
2553:
2551:
2543:
2541:
2533:
2532:
2529:
2523:
2520:
2518:
2515:
2513:
2510:
2509:
2507:
2503:
2497:
2494:
2492:
2489:
2487:
2486:Fragmentation
2484:
2483:
2481:
2477:
2471:
2468:
2466:
2463:
2461:
2458:
2456:
2453:
2452:
2450:
2448:
2447:Memory safety
2444:
2438:
2435:
2433:
2430:
2428:
2425:
2423:
2420:
2418:
2415:
2413:
2410:
2408:
2405:
2403:
2400:
2398:
2395:
2393:
2390:
2388:
2385:
2383:
2380:
2379:
2377:
2375:
2371:
2365:
2362:
2360:
2357:
2355:
2352:
2351:
2349:
2347:
2343:
2337:
2334:
2332:
2329:
2327:
2324:
2322:
2319:
2317:
2314:
2312:
2309:
2308:
2306:
2304:
2300:
2294:
2291:
2289:
2286:
2284:
2281:
2279:
2276:
2275:
2273:
2271:
2267:
2261:
2258:
2256:
2253:
2251:
2250:Memory paging
2248:
2246:
2245:Demand paging
2243:
2242:
2240:
2238:
2234:
2227:
2224:
2221:
2218:
2215:
2212:
2211:
2209:
2205:
2199:
2196:
2195:
2192:
2188:
2181:
2176:
2174:
2169:
2167:
2162:
2161:
2158:
2146:
2145:
2136:
2134:
2133:
2122:
2120:
2119:
2114:
2108:
2107:
2104:
2094:
2091:
2090:
2088:
2084:
2078:
2075:
2071:
2068:
2066:
2063:
2062:
2060:
2056:
2053:
2052:
2051:Thin client:
2050:
2048:
2045:
2043:
2040:
2038:
2035:
2034:
2032:
2030:
2024:
2021:
2019:
2015:
1999:
1996:
1994:
1991:
1989:
1986:
1984:
1981:
1979:
1976:
1975:
1973:
1969:
1966:
1964:
1961:
1959:
1956:
1954:
1953:Linux-VServer
1951:
1950:
1949:
1946:
1942:
1939:
1937:
1934:
1933:
1932:
1929:
1928:
1926:
1924:
1920:
1912:
1909:
1907:
1904:
1903:
1901:
1898:
1894:
1891:
1889:
1886:
1884:
1881:
1879:
1876:
1875:
1874:
1871:
1867:
1864:
1862:
1859:
1857:
1854:
1853:
1852:
1849:
1845:
1842:
1840:
1837:
1836:
1835:
1832:
1831:
1829:
1825:
1819:
1816:
1814:
1811:
1809:
1806:
1804:
1801:
1799:
1796:
1794:
1791:
1790:
1787:
1784:
1780:
1777:
1775:
1772:
1771:
1770:
1767:
1766:
1763:
1760:
1758:
1755:
1753:
1750:
1748:
1745:
1743:
1740:
1738:
1735:
1733:
1729:
1726:
1725:
1722:
1719:
1717:
1714:
1712:
1709:
1707:
1704:
1702:
1699:
1697:
1694:
1691:
1688:
1685:
1682:
1680:
1677:
1674:
1671:
1670:
1667:
1664:
1662:
1659:
1657:
1654:
1652:
1649:
1647:
1644:
1642:
1639:
1637:
1634:
1632:
1629:
1627:
1624:
1622:
1619:
1617:
1614:
1612:
1609:
1606:
1603:
1601:
1598:
1596:
1593:
1591:
1588:
1586:
1583:
1581:
1578:
1576:
1575:Device mapper
1573:
1571:
1568:
1566:
1563:
1561:
1558:
1556:
1553:
1551:
1548:
1547:
1545:
1541:
1527:
1524:
1522:
1519:
1517:
1514:
1512:
1509:
1507:
1504:
1502:
1499:
1495:
1492:
1490:
1487:
1485:
1482:
1480:
1477:
1475:
1472:
1468:
1465:
1464:
1463:
1460:
1458:
1455:
1453:
1450:
1449:
1448:
1445:
1444:
1442:
1440:
1434:
1428:
1425:
1421:
1418:
1417:
1416:
1413:
1411:
1408:
1406:
1403:
1400:
1397:
1395:
1392:
1389:
1386:
1384:
1381:
1379:
1376:
1374:
1371:
1369:
1366:
1364:
1361:
1358:
1357:
1355:
1353:
1348:
1344:
1341:
1339:
1335:
1325:
1322:
1320:
1317:
1315:
1312:
1310:
1307:
1305:
1302:
1300:
1297:
1295:
1292:
1290:
1287:
1285:
1282:
1280:
1277:
1276:
1274:
1272:
1268:
1259:
1257:
1254:
1252:
1249:
1247:
1244:
1242:
1239:
1237:
1234:
1232:
1229:
1228:
1227:
1224:
1219:
1217:
1214:
1212:
1209:
1207:
1204:
1202:
1199:
1197:
1194:
1192:
1189:
1188:
1187:
1184:
1183:
1181:
1179:
1173:
1170:
1166:
1163:
1161:
1157:
1151:
1148:
1146:
1143:
1142:
1140:
1138:
1134:
1128:
1125:
1123:
1120:
1118:
1115:
1113:
1110:
1108:
1105:
1104:
1102:
1100:
1096:
1090:
1087:
1085:
1082:
1080:
1077:
1075:
1072:
1070:
1067:
1065:
1062:
1061:
1059:
1055:
1052:
1048:
1036:
1033:
1032:
1030:
1026:
1023:
1021:
1018:
1016:
1013:
1011:
1010:
1006:
1005:
1003:
1002:
1000:
996:
990:
987:
985:
982:
980:
977:
975:
972:
970:
967:
965:
962:
960:
957:
955:
952:
950:
947:
945:
942:
940:
937:
935:
932:
931:
929:
925:
922:
918:
914:
907:
902:
900:
895:
893:
888:
887:
884:
880:
864:
860:
853:
850:
845:
841:
835:
832:
819:
815:
809:
806:
793:
789:
783:
780:
767:
763:
757:
754:
742:. May 8, 2013
741:
737:
731:
728:
715:
711:
705:
702:
689:
685:
679:
676:
663:
656:
649:
646:
633:
629:
623:
620:
608:
604:
597:
594:
582:
578:
571:
568:
555:
551:
545:
543:
541:
539:
535:
523:
519:
512:
510:
506:
494:
490:
483:
481:
477:
465:
461:
454:
452:
450:
448:
444:
438:
434:
431:
429:
426:
424:
421:
420:
416:
410:
405:
402:
391:
386:
384:
378:
373:
371:
366:
364:
356:
354:
351:
348:
346:
341:
339:
331:
329:
327:
323:
319:
315:
311:
307:
305:
301:
297:
296:out-of-memory
288:
282:
279:zswap.enabled
272:
265:
261:
257:
253:
248:
246:
242:
238:
234:
230:
222:
220:
218:
214:
210:
206:
202:
198:
194:
189:
187:
183:
179:
175:
171:
167:
163:
159:
155:
152:
148:
144:
135:
129:
125:
122:
119:
117:
113:
110:
107:
105:
101:
98:
95:
93:
89:
86:
83:
79:
64:
60:
56:
54:
50:
44:
40:
33:
19:
3001:file systems
2893:Time-sharing
2142:
2123:
2109:
1839:Linux kernel
1757:Tomoyo Linux
1665:
1352:File systems
1007:
959:SCO disputes
920:Organization
913:Linux kernel
878:
866:. Retrieved
852:
843:
834:
822:. Retrieved
808:
796:. Retrieved
791:
782:
770:. Retrieved
765:
756:
744:. Retrieved
739:
730:
718:. Retrieved
713:
704:
692:. Retrieved
678:
666:. Retrieved
664:. p. 12
661:
648:
636:. Retrieved
622:
610:. Retrieved
596:
586:December 23,
584:. Retrieved
580:
570:
558:. Retrieved
525:. Retrieved
496:. Retrieved
467:. Retrieved
415:Linux portal
374:
370:block device
367:
360:
357:Alternatives
352:
349:
342:
335:
309:
308:
283:
260:accelerators
249:
241:memory pages
236:
235:provided by
226:
209:Flash memory
195:, including
190:
166:memory pages
147:Linux kernel
142:
141:
76:(Linux 3.11)
53:Developer(s)
43:
3019:Device file
3009:Boot loader
2923:Round-robin
2848:Cooperative
2784:Rump kernel
2774:Multikernel
2764:Microkernel
2661:Usage share
2491:Memory leak
1844:Linux-libre
1737:Exec Shield
1616:Framebuffer
1319:Video4Linux
1176:System Call
1004:Developers
944:Linus's law
772:January 22,
694:February 5,
638:February 5,
560:January 22,
527:February 5,
498:January 31,
469:January 22,
245:page faults
174:memory pool
170:compression
3122:Categories
2949:protection
2905:algorithms
2903:Scheduling
2852:Preemptive
2798:Components
2769:Monolithic
2636:Comparison
2255:Page table
1931:Hypervisor
1893:PREEMPT_RT
1798:KernelCare
1786:Raw device
1716:SCHED_FIFO
1626:KMS driver
1543:Components
1398:securityfs
1284:Crypto API
1226:Linux-only
1112:System.map
1015:kernel.org
974:menuconfig
969:GNU GPL v2
818:kernel.org
746:January 5,
720:January 5,
688:kernel.org
668:August 19,
632:kernel.org
554:kernel.org
439:References
428:Linux swap
290:parameter
256:crypto API
217:swap space
213:its nature
151:write-back
81:Written in
72:2013-09-02
3039:Partition
2956:Bus error
2883:Real-time
2863:Interrupt
2789:Unikernel
2754:Exokernel
2402:Finalizer
2283:Real mode
2070:LYME-LYCE
1793:initramfs
1762:Linux PAM
1631:Netfilter
1501:libcgroup
1467:libhybris
1439:libraries
1387:hugetlbfs
1338:Userspace
1271:In-kernel
1256:readahead
1178:Interface
1127:initramfs
1084:SystemTap
1057:Debugging
1050:Technical
989:Criticism
740:gmane.org
714:gmane.org
612:March 26,
581:gmane.org
237:frontswap
223:Internals
3085:Live USB
2947:resource
2837:Concepts
2675:Variants
2656:Timeline
2336:ptmalloc
2331:mimalloc
2321:jemalloc
2311:dlmalloc
2207:Hardware
2144:Category
2086:Adopters
2061:Server:
2042:Embedded
2018:Adoption
1911:PSXLinux
1834:Mainline
1827:Variants
1779:graphics
1732:AppArmor
1721:SCHED_RR
1641:nftables
1585:dm-crypt
1580:dm-cache
1526:liburing
1516:libevdev
1474:dietlibc
1363:configfs
1289:io uring
868:March 8,
824:June 15,
798:June 15,
522:Phoronix
387:See also
377:eviction
338:codebase
326:allocate
201:netbooks
3080:Live CD
3034:Journal
2998:access,
2996:Storage
2873:Process
2779:vkernel
2646:History
2629:General
2407:Garbage
2326:libumem
2228:(IOMMU)
2077:Devices
2037:Desktop
1998:coLinux
1993:MkLinux
1978:L4Linux
1906:ÎĽClinux
1888:Xenomai
1878:RTLinux
1818:Ksplice
1747:SELinux
1742:seccomp
1692:(EEVDF)
1636:Netlink
1565:Console
1560:cgroups
1511:libalsa
1437:Wrapper
1415:systemd
1378:debugfs
1347:Daemons
1309:New API
1251:inotify
1246:dnotify
1150:x32 ABI
1107:vmlinux
1099:Startup
998:Support
863:LWN.net
607:LWN.net
464:LWN.net
332:History
322:buddies
300:evicted
252:modules
158:swapped
127:Website
121:GNU GPL
116:License
70: (
2888:Thread
2759:Hybrid
2737:Kernel
2479:Issues
2047:Gaming
2029:of use
1983:ELinOS
1974:Other
1968:OpenVZ
1958:Lguest
1902:-less
1813:kpatch
1808:kGraft
1774:802.11
1570:bcache
1521:libusb
1506:libdrm
1494:Newlib
1479:EGLIBC
1462:Bionic
1457:uClibc
1427:Kmscon
1401:sockfs
1394:procfs
1390:pipefs
1373:devpts
1299:kernfs
1241:splice
1196:select
1168:Kernel
1122:initrd
1117:dracut
1069:ftrace
1031:Users
964:Linaro
927:Kernel
844:GitHub
318:Oracle
132:kernel
18:Zcache
3090:Shell
3029:Inode
2505:Other
2316:Hoard
2222:(TLB)
2216:(MMU)
2027:Range
1866:SLURM
1803:kexec
1752:Smack
1686:(CFS)
1666:zswap
1607:(KSM)
1600:evdev
1555:BlueZ
1484:klibc
1452:glibc
1410:tmpfs
1405:sysfs
1368:devfs
1359:bpffs
1236:epoll
1231:futex
1211:close
1191:ioctl
1186:POSIX
1074:kdump
658:(PDF)
287:sysfs
154:cache
145:is a
143:zswap
97:Linux
47:zswap
32:Zcash
2651:List
2065:LAMP
2055:LTSP
1883:RTAI
1661:zram
1656:SLUB
1651:perf
1595:EDAC
1489:musl
1420:udev
1383:FUSE
1279:ALSA
1216:sync
1206:read
1201:open
1160:APIs
1137:ABIs
1064:CRIU
1020:LKML
870:2014
826:2014
800:2014
774:2014
748:2014
722:2014
696:2014
670:2015
640:2014
614:2014
588:2014
562:2014
529:2014
500:2014
471:2014
363:zram
310:zbud
156:for
134:.org
104:Type
39:zram
3107:PXE
3095:CLI
3075:HAL
3065:API
2868:IPC
1963:LXC
1941:Xen
1936:KVM
1900:MMU
1856:INK
1621:LVM
1611:LIO
1590:DRM
1324:IIO
1314:RCU
1294:DRM
1089:BPF
954:Tux
493:IBM
233:API
186:CPU
182:I/O
178:RAM
3124::
2850:,
1730::
861:.
842:.
816:.
790:.
764:.
738:.
712:.
686:.
660:.
630:.
605:.
579:.
552:.
537:^
520:.
508:^
491:.
479:^
462:.
446:^
281:.
199:,
2944:,
2854:)
2846:(
2614:e
2607:t
2600:v
2179:e
2172:t
2165:v
1675::
1349:,
1260:…
1220:…
905:e
898:t
891:v
872:.
846:.
828:.
802:.
776:.
750:.
724:.
698:.
672:.
642:.
616:.
590:.
564:.
531:.
502:.
473:.
275:1
85:C
74:)
41:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.