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

news/2024/7/20 14:50:57 标签: Linux内核, 内存管理

接前一篇文章:Linux内核内存管理相关配置项的详细解析8

十三、Enable recovery from hardware memory errors

对应配置变量为:CONFIG_MEMORY_FAILURE。

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

内核源码详细解释为:

Enables code to recover from some memory failures on systems

with MCA recovery. This allows a system to continue running

even when some of its memory has uncorrected errors. This requires

special hardware support and typically ECC memory.

使代码能够通过MCA recovery从系统上的某些内存故障中恢复。这允许系统即使在某些内存存在未更正的错误时也能继续运行。这需要特殊的硬件支持,通常需要ECC存储器。

十四、HWPoison pages injector

此项只有选中和不选中两种状态,默认为不选中。只有当上一项“nable recovery from hardware memory errors”被选中时,此项才会出现。

此选项没有可用的帮助信息。

十五、Transparent Hugepage Support

对应配置变量为:CONFIG_TRANSPARENT_HUGEPAGE。

内核源码详细解释为:

Transparent Hugepages allows the kernel to use huge pages and

huge tlb transparently to the applications whenever possible.

This feature can improve computing performance to certain

applications by speeding up page faults during memory

allocation, by reducing the number of tlb misses and by speeding

up the pagetable walking.

Transparent Hugepages允许内核在任何可能的时候对应用程序透明地使用巨页和巨页表。该特征可以提高某些应用程序的计算性能,通过在内存分配期间加速页面故障,通过减少tlb未命中的次数以及加快页表遍历。

此项展开后如下图所示:

1. Transparent Hugepage Support sysfs defaults

选择透明巨页支持的sysfs默认值。

此项展开后如下图所示:

  • always

对应配置变量为:CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS。

内核源码详细解释为:

Enabling Transparent Hugepage always, can increase the

memory footprint of applications without a guaranteed

benefit but it will work automatically for all applications.

始终启用透明巨页,可能会在没有保证的好处的情况下增加应用程序的内存占用,但它将自动适用于所有应用程序。

  • madvise

对应配置变量为:CONFIG_TRANSPARENT_HUGEPAGE_MADVISE。

默认选择此项。

内核源码详细解释为:

Enabling Transparent Hugepage madvise, will only provide a

performance improvement benefit to the applications using

madvise(MADV_HUGEPAGE) but it won't risk to increase the

memory footprint of applications without a guaranteed

benefit.

通过madvise使能透明巨页,将只会为使用madvise(MADV_HUGEPAGE)的应用程序提供性能提升受益,但如果没有保证的好处,它就不会增加应用程序的内存占用。

2. Read-only THP for filesystems (EXPERIMENTAL)

对应配置变量为:CONFIG_READ_ONLY_THP_FOR_FS

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

内核源码详细解释为:

Allow khugepaged to put read-only file-backed pages in THP.

This is marked experimental because it is a new feature. Write

support of file THPs will be developed in the next few release

cycles.

允许khugepaged将只读文件备份页放入THP中。

这被标记为实验性的,因为这是一个新功能。文件THP的写支持将在接下来的几个发布周期中开发。


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

相关文章

0901扩展-react

文章目录 1. setState2. lazyLoad3. Hooks3.1 React Hook/Hooks是什么?3.2 State Hook3.4 Effect Hook3.5 Ref Hook 4. Fragment5. Context6. 组件优化7. render props8. 错误边界9. 组件通信方式总结结语 1. setState setState更新状态的2种写法 (1). setState(stateChange,…

缺少成本票怎么解决?首选自然人代开,方便又快捷!

《税筹顾问》专注于园区招商,您的贴身节税小能手,合理合规节税! 成本票缺失导致的严重结果就是,缺少成本入账,导致利润虚高,企业所得税变高了,那么现有的解决方式很多,只是一些方法过…

Kubernetes 1.27 加快 Pod 启动速度

如何在大型集群中加快节点上的 Pod 启动?这是企业集群管理员常常会面临的问题。 这篇博文重点介绍了从 kubelet 一侧加快 Pod 启动的方法。此方法不涉及通过 kube-apiserver 由 controller-manager 创建 Pod 所用的时间段,也不包含 Pod 的调度时间或在其…

初识s3c2440A之ARM体系架构入门linux硬件

文章目录 前言一、环境平台的基本介绍二、ARM体系架构必备知识1. 计算机三大组成2. ARM的分类2.1 ARM Cortex-A系列2.2 ARM Cortex-R系列2.3 ARM Cortex-M系列 3. 2440ARM的系统架构 总结 前言 如果大家在前期学习了c语言,并且具备了一定的c语言功底,且学…

PortSwigger web缓存中毒(Cache Poisoning)

一、什么web缓存中毒? Web缓存中毒(Web Cache Poisoning)是一种攻击技术,攻击者通过操纵Web应用程序的缓存系统,将恶意或欺骗性内容注入到合法的缓存中,以欺骗用户或绕过安全控制。 Web缓存中毒的原理是利用…

5.多线程之JUC并发编程2

1.CompletableFuture异步回调 像ajax,未来再得到执行结果,想服务器不分先后顺序执行,可以用异步回调 //调用的函数没有返回值的CompletableFuture<Void> futureCompletableFuture.runAsync(()->{TimeUnit.SECONDS.sleep(2);sout(Thread.currentThread.getName"as…

EasyExcel导入导出

在项目开发中往往需要使用到数据的导入和导出&#xff0c;导入就是从Excel中导入到DB中&#xff0c;而导出就是从DB中查询数据然后使用POI写到Excel上。所以今天就为大家带来一款基于阿里EasyExcel的导入导出功能&#xff0c;开放了一个demo&#xff0c;以下是gitee地址&#x…

【实战】minigpt4的体验和微调

MiniGPT-4 https://github.com/vision-cair/minigpt-4 1 环境配置 1.1 安装环境 git lfs install //如果报错 &#xff1a;git: lfs is not a git command. See git --help. //尝试使用&#xff1a; sudo apt-get install git-lfs git lfs install1.2 准备Vicuna权重 &…