Linux内核中内存管理相关配置项的详细解析1

news/2024/7/20 15:05:29 标签: Linux内核, 内存管理

本文基于kernel 6.1.0,针对于“Linux/x86 6.1.0 Kernel Configuration”中的“Memory Management options”项下的各个子配置项(如下图所示)进行详细解析。

一、Support for paging of anonymous memory (swap)

这个选项以前位于“General Setup”中,后改到“Memory Management options”下。此选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多的内存空间用来执行很大的程序。此项只包含选中(*)即Y和不选中()即N,默认为选中。

“Support for paging of anonymous memory (swap)”项展开后如下图所示:

1. Compressed cache for swap pages(交换页的压缩缓存)

对应配置变量为:CONFIG_ZSWAP。

此项也是只有选中和不选中两种状态。只有当选中时,下边的选项才会出现,否则只是这样:

 此项的内核源码详细解释为:

A lightweight compressed cache for swap pages. It takes

pages that are in the process of being swapped out and attempts to

compress them into a dynamically allocated RAM-based memory pool.

This can result in a significant I/O reduction on swap device and,

in the case where decompressing from RAM is faster than swap device

reads, can also improve workload performance. 

交换页的轻量级压缩缓存。其获取正在换出的页面,并尝试将它们压缩到动态分配的基于RAM的内存池中。这可以显著减少交换设备上的I/O(操作),并在从RAM解压缩比交换设备读取快的情况下,也还能够提高工作负载性能。

2. Enable the compressed cache for swap pages by default(默认情况下为交换页启用(使能)压缩缓存)

对应配置变量为:CONFIG_ZSWAP__DEFAULT_ON。

此项也只有选中和不选中两种状态。默认为不选中。

此项的内核源码详细解释为:

If selected, the compressed cache for swap pages will be enabled

at boot, otherwise it will be disabled.

The selection made here can be overridden by using the kernel

command line 'zswap.enabled=' option.

如果被选中,交换页的压缩缓存将在引导(启动)时被启用;否则其将被禁止。

此处所做的选择可以通过使用内核命令行“zswap.enabled=”选项来覆盖。

其它选项将在后续文章中继续介绍。


http://www.niftyadmin.cn/n/414796.html

相关文章

华为OD机试真题 Java 实现【滑动窗口】【2023 B卷 100分】,附详细解题思路

一、题目描述 有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动直到窗口不能滑动为止,每次窗口滑动产生一个窗口和(窗口内所有数和和),求窗口滑动产生的所有窗口和的最大值。 二、输入描述 第一行输入一个正整数N,表示整数个数。(0<N<…

分布式系统通过雪花算法生成唯一ID

服务器系列 文章目录 服务器系列前言一、雪花算法二、C的代码示例总结 前言 在分布式系统中&#xff0c;经常涉及到时间同步问题&#xff0c;这样由于时间校准&#xff0c;以及其他因素&#xff0c;可能导致服务器时间回退&#xff0c;如果恰巧回退前生成过一些id&#xff0c;…

一般人不要轻易去自学网络安全(黑客)

笔者本人 17 年就读于一所普通的本科学校&#xff0c;20 年 6 月在三年经验的时候顺利通过校招实习面试进入大厂&#xff0c;现就职于某大厂安全联合实验室。 我为啥说自学黑客&#xff0c;一般人我还是劝你算了吧&#xff01;因为我就是那个不一般的人。 首先我谈下对黑客&a…

Angular4 教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 Angular是Google推出的Web前端开发框架&#xff0c;从12年发布起就受到了强烈的关注&#xff0c;他首次提出了双向绑定的概念&#xff0c;让人耳目一新&#xff0c;在2016年9月中旬&#xff0c;Google正式发布了Angular的第二代开发框架Angular 2&#xff0c;2017年3…

逆向角度看JNI C++

逆向角度看JNI C类结构 1.首先看多重继承 代码如下 classTest.h class Base1 { public:virtual void vb1f() {printf("Base1 vb1f");}virtual void vf() {printf("Base1 vf");} };class Base2 { public:virtual void vb2f() {printf("Base2 vb2f&q…

Angular实现用ng-class和ng-style控制数组最后一个数据为红色

首先我们来看class方案实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

嵌入式软件测试笔记3 | 嵌入式软件测试开发的多V模型

3 | 嵌入式软件测试开发的多V模型 1 简单的多V模型2 迭代与并行开发2.1 开发模型2.2 嵌入式开发过程的复杂性 3 多V模型中的测试活动3.1 测试活动和因素3.2 模型开发周期中与测试相关的元素分配3.3 原型开发周期中与测试相关的元素分配3.4 最终产品开发周期中与测试相关的元素分…

nginx location、proxy_pass 后面的url 加与不加/的区别

在nginx中配置proxy_pass时&#xff0c;当在后面加上 / &#xff0c;相当于绝对路径&#xff0c;则nginx不会把location中匹配的路径部分代理走&#xff1b;如果没有/&#xff0c;则会把匹配的路径代理走。 proxy_pass 主机端口这种类型&#xff0c;后将访问地址直接加到后面即…