Facebook开发新的THP收缩机制以避免Linux内存浪费

Facebook开发新的THP收缩机制以避免Linux内存浪费Meta/Facebook的工程师宣布了他们在THPShrinker方面的工作,这是一种让Linux的透明页(THP)工作更有效率的方法,主要原理是通过移除未被充分利用的透明页来避免内存浪费。THP对于某些工作负载来说,通过减少TLB缓存的未命中状态可以提高效率,但是2MB与4Kb的页面大小如果没有得到有效利用,反而会导致大量的内存浪费。Facebook的工程师在他们的一个平台上发现,由于THP没有得到充分利用,甚至让每台机器造成了大约2.7GB的内存浪费。Facebook正在为Linux内核开发的THP收缩机制旨在解决这种浪费,与此同时仍然可以享受THP以提高CPU效率的优势,THPShrinker将分割利用率最低的大内存页面。THPShrinker旨在避免浪费RAM,并尽可能让大内存页面透明并对外开放,使其无条件地启用,从而替代了基于madevise系统调用的选择。Facebook的工程师们正在努力围绕这个THPShrinker增加额外的调整,并可能与CPU/IO/内存压力事件挂钩。最终,工程师希望通过THP收缩器可以直接废除Linux的madviseTHP模式,并切换到THP为所有应用程序启用。关于这个有趣的内核开发的更多细节,请看lore.kernel.org:https://lore.kernel.org/lkml/[email protected]/现在这个THP收缩器只是500多行的新内核代码。PC版:https://www.cnbeta.com/articles/soft/1309111.htm手机版:https://m.cnbeta.com/view/1309111.htm

相关推荐

封面图片

新的补丁旨在减少编译Linux内核时的内存占用

新的补丁旨在减少编译Linux内核时的内存占用访问新闻组以了解更多:https://lore.kernel.org/lkml/[email protected]/这组8个补丁对objtool的代码进行了调整,以减少内存的使用。特别是,在objtool代码中,从循环中的malloc()切换到循环外的calloc(),在处理vmlinux.o时,峰值内存使用量减少了3.7%。在另一个由Thomas建立的内核中,减少了structreloc的内存使用量又减少了3.8%。优化结构符号的布局降低了0.5%的内存使用量,同时还有其他一些优化。这个正在审查的补丁系列应该有助于减少编译Linux内核时的峰值内存使用,并反过来帮助构建,特别是对于内存数量有限的系统,否则在构建过程中可能会遇到交换问题,反过来会导致构建速度下降。...PC版:https://www.cnbeta.com.tw/articles/soft/1336589.htm手机版:https://m.cnbeta.com.tw/view/1336589.htm

封面图片

提议中的Linux的动态内核堆栈功能补丁可节省大量内存

提议中的Linux的动态内核堆栈功能补丁可节省大量内存Google一直在使用内核补丁来保持8K堆栈,但随着时间的推移,他们需要更大的堆栈大小,这反过来又增加了超大规模部署的内存使用量。为了减少增加的内存使用,Google一直在研究动态内核堆栈,因为许多内核线程都可以容纳在4K或8K的堆栈中。到目前为止,动态内核堆栈的RFC补丁工作进展顺利,已经进行了少量测试,并允许从4K扩展到THREAD_SIZE限制。Google工程师发现,动态内核堆栈平均可以节省70%到75%的内核堆栈内存。PashaTatashin发布的早期结果很有希望,但可能取决于工作负载、虚拟化和其他因素:Tatashin进一步补充说:"一些拥有数百万线程的工作负载可以从这一功能中显著受益。"对节省内核堆栈内存这项工作感兴趣的人,请参阅RFC补丁系列。...PC版:https://www.cnbeta.com.tw/articles/soft/1423351.htm手机版:https://m.cnbeta.com.tw/view/1423351.htm

封面图片

Linux的负载均衡机制仍需更好地适应英特尔混合架构处理器的需要

Linux的负载均衡机制仍需更好地适应英特尔混合架构处理器的需要在推出英特尔AlderLake处理器的过去一年里,英特尔工程师已经对Linux内核进行了一些改进,以便更好地处理混合P核与E核的混合处理运算方法。虽然AlderLake在最近版本的内核中运行得很好,而且Linux上的P核与E核的任务选择比推出时要更完善,但仍有英特尔工程师本周提出了其中需要改进的地方。PC版:https://www.cnbeta.com/articles/soft/1317503.htm手机版:https://m.cnbeta.com/view/1317503.htm

封面图片

华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式"

华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式"华为公司的PetrTesarik发出了关于新SandBox模式的"征求意见"补丁系列。Petr将SandBox模式描述为:"SandBox模式的最终目标是在仅允许访问预定义地址的内存的环境中执行本地内核代码,因此潜在漏洞无法被利用或不会对内核的其他部分产生影响。该补丁系列将SandBox模式的API和架构独立的基础架构添加到内核中。它在所有输入和输出数据的vmalloc()编辑副本上运行目标函数。由于有了保护页,仅此一项就能防止一些越界访问"。SandBox模式文档进一步补充道:"沙盒模式(SBM)的主要目标是通过分解内核来减少内核代码中潜在内存安全漏洞的影响。SBMAPI允许在隔离的执行环境中运行每个组件。特别是,用作输入和/或输出的内存区域与内核的其他部分隔离,并由保护页包围。在实现了必要的拱形钩子的架构上,沙盒模式利用硬件分页设施和CPU权限级别,只强制使用这些预定义的内存区域。有了arch支持,SBM还能从违反保护规定的情况中恢复。这意味着,SBM会强制终止沙箱,并向调用者返回错误代码(如``-EFAULT``),以便继续执行。这种实现方式提供了*强隔离*"。上游内核开发人员对沙箱模式提案的接受程度还有待观察,有兴趣的开发者可以查看RFC补丁系列,了解有关Linux内核刚刚提出的这一新增功能的更多信息。...PC版:https://www.cnbeta.com.tw/articles/soft/1418121.htm手机版:https://m.cnbeta.com.tw/view/1418121.htm

封面图片

微软参与修改措辞与注释 提高Linux内核语言的包容性

微软参与修改措辞与注释提高Linux内核语言的包容性本周早些时候,微软的一位工程师为Linux内核开发了Rust语言改进补丁,而在周末假期结束时,又为Linux内核语言开发了更具包容性的补丁。今天,微软Linux工程师EaswarHariharan发布了一组14个补丁,他负责AzureLinuxplumbing、AzureCobalt等云硅的启用以及虚拟化事务。微软的这一最新非核心业务Linux贡献正在清理代码中的语言,使其更具包容性。特别是根据最新的上游I2C、SMBus和I3C规范进行调整,以使用适当的术语。大部分代码和代码注释中的术语已从主从调整为控制器和目标站(或客户端)。但即使是这些补丁也会引起一些问题,因为行业规范倾向于使用新的控制器/目标术语,而不是这些新内核补丁中使用的客户端术语。在上游内核开发人员中,显然还没有就如何区分客户端和目标机达成明确的共识。这些补丁清理了近400行代码,包括从核心子系统代码到AMD和Intel图形驱动程序、各种媒体和FBDEV驱动程序,以及其他I2C/I3C/SMBus代码。您可以在内核邮件列表中找到微软提供的新Linux内核包容性语言补丁:https://lore.kernel.org/dri-devel/[email protected]/T/...PC版:https://www.cnbeta.com.tw/articles/soft/1425639.htm手机版:https://m.cnbeta.com.tw/view/1425639.htm

封面图片

Ubuntu 24.04 LTS 默认内核将采用 Linux 6.8

Ubuntu24.04LTS默认内核将采用Linux6.8Canonical公布了Ubuntu24.04LTS的内核计划,并表示将正在开发的Linux6.8作为下一个长期支持Ubuntu桌面/服务器发行版的默认内核。此前许多人在讨论Ubuntu24.04LTS会采用哪个内核版本。现在Canonical工程师AndreaRighi宣布了在Ubuntu24.04中采用Linux6.8作为默认内核的暂定计划。目前实验性内核构建已经可以通过PPA获得。——、

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人