内容简介:Google工程师的一个新的Linux内核补丁解决了一个问题,这个问题是由我们许多人可能没有体验过的情况引起的,那就是一台服务器当中插着太多的NVMe驱动器……这个问题是由正确关闭一个驱动器所需的相对较长的时间引起的:显然,单个最长时间达4.5秒。
Google工程师的一个新的 Linux 内核补丁解决了一个问题,这个问题是由我们许多人可能没有体验过的情况引起的,那就是一台服务器当中插着太多的NVMe驱动器……这个问题是由正确关闭一个驱动器所需的相对较长的时间引起的:显然,单个最长时间达4.5秒。
还记得Sun公司的X4500存储服务器吗,它的代号为Thumper,它出现时确实很激进:一个3U的双处理器服务器密密麻麻装了48个驱动器托架。当他们不得不重新启动时,他们需要很长的时间。
如果你有一个有16个驱动器的存储服务器,每次重启都会浪费72秒的时间。虽然也就是泡杯咖啡的时间,但仍然很烦人--因为这完全是不必要的。
问题主要出在内核的驱动器关闭功能是同步的:对于每个驱动器,它都会等待关闭命令完成,然后再进行下一个。新的内核补丁做了完全相同的事情,但改变了调用的方式,使其成为异步的。它向第一个驱动器发出调用,然后立即转到下一个,并按顺序进行。当它们都返回所需的状态时,工作就完成了。
虽然这并不能直接帮助我们中的大多数人,但有时这类变化会产生非常令人愉快的作用。例如,有一个为内核开发者提供的 工具 叫kexec,它允许一个内核将另一个内核加载到内存中并启动它。不仅仅如此,这还可以加速Linux的重新启动。由于计算机在加载操作系统之前必须在其读取固件过程中花费一分钟左右的时间,进行一些自我测试等等,如果能绕过这一点,直接从一个操作系统重启到另一个,就可以把时间缩短到几秒钟而不是几分钟。
了解更多:
https://lore.kernel.org/lkml/20220328230008.3587975-1-tansuresh@google.com/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 记一次namenode关机导致的问题
- iPhone 用户别点此类链接,直接关机
- 强行关机之后,Percona XtraDB Cluster集群无法启动
- 漫话:手机很早就有飞行模式了,为什么最近几年坐飞机才不用关机?
- springboot服务优雅关机脚本(在停止服务的命令发出后将执行完正在运行的进程)外加检测进程死掉自...
- 内核必须懂(六): 使用kgdb调试内核
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Pragmatic Programmer
Andrew Hunt、David Thomas / Addison-Wesley Professional / 1999-10-30 / USD 49.99
本书直击编程陈地,穿过了软件开发中日益增长的规范和技术藩篱,对核心过程进行了审视――即根据需求,创建用户乐于接受的、可工作和易维护的代码。本书包含的内容从个人责任到职业发展,直至保持代码灵活和易于改编重用的架构技术。从本书中将学到防止软件变质、消除复制知识的陷阱、编写灵活、动态和易适应的代码、避免出现相同的设计、用契约、断言和异常对代码进行防护等内容。一起来看看 《The Pragmatic Programmer》 这本书的介绍吧!