linux内核内存性能调优的一些笔记(Linux内核开发缓慢需要归咎于Linus本人的内存硬件损坏)
如果下一版本的Linux内核出现的速度比往常慢一点,请责备Linus Torvalds的AMD Threadripper-powered PC中的DIMM【内存芯片】有问题,以及内存市场的变化无常。
周日,Torvalds在回复一位内核开发者询问他是否错过了Git Pull的帖子中透露,该请求仍在他的队列中,因为 "我正在我的笔记本电脑上进行合并(非常缓慢),同时在等待新的ECC内存DIMMs的到来。"
Torvalds需要DIMMs,因为在过去的几天里,他经历了他所描述的 "我的主要桌面上的一些不稳定......用户空间的随机内存损坏导致我的allmodconfig构建随机失败,出现内部编译器错误等。"
这位Linux老板的第一个想法是,一个新的内核错误导致了这个问题--这不是好事,但有时会发生。
他的直觉是错误的。
他写道:"在我的机器完全稳定的2.5年之后,它实际上是一个DIMM随机地坏了。”他写道:"你想想看。首先通过启动一个旧的内核进行验证,然后用memtest86 过夜。"
Torvalds似乎一直在跟踪新DIMM的交付情况,因为他报告说替换的内存已经 "交付",并预测它应该在周日晚些时候到达。
"我可能会让memtest86 与新的DIMMs再过一夜,只是因为这不是有史以来最伟大的经验。他补充说:"浪费了大量的时间来指责所有错误的东西,因为很明显不是我的硬件突然变坏了。
Torvalds的帖子因另外两个原因而有趣。其一是他提到的笔记本电脑可能是最近的MacBook--配备了Arm64苹果芯片--他用来推动Linux 5.19的最终版本。如果这是他在周日使用的同一台笔记本电脑,那么上述芯片可能无法满足世界上更高调的工作负载之一--或者也许莱纳斯只是想念大屏幕的舒适感。
他的帖子还提到,他的主要PC被设置为纠错代码内存(ECC内存),但 "在COVID的早期,当时没有任何ECC内存可以以任何合理的价格获得。然后我就一直没有去修复它,直到我不得不用艰难的方式来检测错误"。
"我绝对*否定*疯狂的行业政治和糟糕的供应商,他们使ECC内存如此'特殊',"他补充说。
这似乎是指2001年的这篇帖子,在这篇文章中,Torvalds提出了以下观点。
英特尔说 "ECC是用于服务器和嵌入式 "的唯一原因是,英特尔的营销人员已经说服了当权者,他们可以通过启用ECC功能,以更高的价格出售其他劣质芯片。看看英特尔出售的带有ECC功能的芯片种类--那些Xeons(和嵌入式Core i3 Atom类CPU)肯定不倾向于在其他方面更好。
不要上当受骗。ECC不适合服务器。ECC是为所有人准备的,想为内存多付一点钱并不意味着你在其他方面受到限制。
上述内容是指英特尔不允许在其所有消费级CPU中使用ECC,因此通过使其成为少数买家的选择来压制需求。由于需求低,制造商就不会加入这个行列,价格就会居高不下......而且许多人无法承担ECC与普通内存相比所带来的额外弹性。这就是这与Torvalds的日常工作相交的地方,因为Linux(和所有其他软件)可以从ECC RAM执行的错误纠正中受益。
Torvalds目前正忙于Linux内核的6.1版本,其中包括增加对Rust编程语言的支持。®
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com