内容简介: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调试内核
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
写给大忙人看的Java SE 8
【美】Cay S. Horstmann(凯.S.霍斯曼) 编 / 张若飞 / 电子工业出版社 / 2014-11 / 59.00元
《写给大忙人看的Java SE 8》向Java开发人员言简意赅地介绍了Java 8 的许多新特性(以及Java 7 中许多未被关注的特性),《写给大忙人看的Java SE 8》延续了《快学Scala》“不废话”的风格。 《写给大忙人看的Java SE 8》共分为9章。第1章讲述了lambda表达式的全部语法;第2章给出了流的完整概述;第3章给出了使用lambda表达式设计库的有效技巧;第4章......一起来看看 《写给大忙人看的Java SE 8》 这本书的介绍吧!