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

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

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

十一、Enable KSM for page merging

对应配置变量为:CONFIG_KSM。

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

内核源码详细解释为:

Enable Kernel Samepage Merging: KSM periodically scans those areas

of an application's address space that an app has advised may be

mergeable. When it finds pages of identical content, it replaces

the many instances by a single page with that content, so

saving memory until one or another app needs to modify the content.

Recommended for use with KVM, or with other duplicative applications.

See Documentation/mm/ksm.rst for more information: KSM is inactive

until a program has madvised that an area is MADV_MERGEABLE, and

root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set).

使能内核Samepage合并:KSM周期性地扫描应用程序地址空间中应用程序建议可以合并的那些区域。当发现内容相同的页面时,它(KSM)会用该内容的单个页面替换许多实例,从而节省内存,直到一个或另一个应用程序需要修改内容为止。建议与KVM或其它重复应用程序一起使用。

有关更多信息,请参阅文档/mm/ksm.rst:KSM处于inactive状态,直到程序madvice某个区域是MADV_MERGEABLE的,并且root用户已经设置/sys/kernel/mm/ksm/run为1(CONFIG_SYSFS设置的情况下)。

十二、Low address space to protect from user allocation

对应配置变量为:CONFIG_DEFAULT_MMAP_MIN_ADDR。

此项为数值项而非选择项。默认推荐值为65536。

内核源码详细解释为:

This is the portion of low virtual memory which should be protected

from userspace allocation. Keeping a user from writing to low pages

can help reduce the impact of kernel NULL pointer bugs.

For most ia64, ppc64 and x86 users with lots of address space

a value of 65536 is reasonable and should cause no problems.

On arm and other archs it should not be higher than 32768.

Programs which use vm86 functionality or have some need to map

this low address space will need CAP_SYS_RAWIO or disable this

protection by setting the value to 0.

This value can be changed after boot using the

/proc/sys/vm/mmap_min_addr tunable.

这是低端虚拟内存的一部分,应该保护它不受用户空间分配的影响。防止用户向低页写入有助于减少内核NULL指针错误的影响。

对于大多数拥有大量地址空间的ia64、ppc64和x86用户来说,65536的值是合理的,应该不会造成任何问题。在arm及其它架构中其应该不高于32768。使用vm86功能或需要映射此低地址空间的程序将需要CAP_SYS_RAWIO,或者通过将值设置为0来禁用此保护。

此值可以在引导(启动)后使用/proc/sys/vm/mmap_min_addr进行调整。


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

相关文章

加密与解密 调试篇 动态调试技术 (四)-x64dbg/MDebug

x64dbg是开源的调试器 支持 32位和64位 Download x64dbg 我们使用64位程序进行实验 加载TraceMe64 然后我们通过之前了解到了 TraceMe是用 GetDlgItemTextA来读取我们输入的值 所以我们在x64dbg中对其进行断点 但是我们先要设置 x64dbg在加载程序的时候是在系统断点处所…

Axure教程—穿梭框(中继器+动态面板)

本文将教大家如何用AXURE中动态面板和中继器制作穿梭框效果 一、效果 预览地址:https://8k99mh.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87897661?spm1001.2014.3001.5503 二、功能 在待选区域选项中可以选择一个选…

【语音之家】AI产业沙龙 —— 解读火山语音团队在国际顶会ACL2023的创新突破

由CCF语音对话与听觉专委会 、中国人工智能产业发展联盟(AIIA)评估组、火山语音、语音之家、希尔贝壳共同主办的【语音之家】AI产业沙龙——解读火山语音团队在国际顶会ACL2023的创新突破,将于2023年6月14日19:00-20:20线上直播。 沙龙简介 …

Python开源自动化工具Playwright安装及介绍

目录 前言 1、Playwright介绍 2、Playwright安装 3、实操演示 4、小结 总结: 前言 微软开源了一个非常强大的自动化项目叫 playwright-python 它支持主流的浏览器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同时支…

如何使用Postman生成curl?

生成在Lunix系统调接口的curl 直接看图操作 点击</>即可&#xff01;

公司想要防止信息泄密,可以开启桌面水印!

随着网络的普及&#xff0c;人们渐渐对网络安全意识不断增强&#xff0c;企业管理者也越来越重视公司的数据安全&#xff0c;开始使用文件权限、数据加密等措施。但大多数人都忽略了拍照、截屏&#xff0c;导致数据泄密事件还是经常发生。 公司内部人员有意无意的拍照、截屏等…

在线合并Excel文档的HTML网页工具

构建一个在线合并Excel文档的HTML网页工具 导语&#xff1a; 在本篇技术分享文章中&#xff0c;我将向您展示如何使用HTML、CSS和JavaScript构建一个功能强大的在线合并Excel文档的网页工具。这个工具可以帮助用户将多个Excel文件合并成一个文件&#xff0c;提高工作效率和方便…

麓言信息时尚史上影响力的十位女性设计师!

这些女性设计师的存在无疑成为了一道耀眼的曙光&#xff0c;为女性照亮前行的道路。通过一代代的努力&#xff0c;如今越来越多的女性设计师活跃在各个领域&#xff0c;用她们的作品影响着人们的生活和社会的发展。我们来数一数那些为时尚做出突出贡献的女性设计师吧。   1…