回顾2023年:Linux操作系统遭遇闰秒问题 (2023年闰秒 linux)

2023年6月30日,全球范围内的计算机系统发生了一次“闰秒”事件,这次事件对Linux操作系统造成了不小的冲击。闰秒是指为了调整世界时间与协调世界时(UTC)之间的差异而插入的一秒时间,以确保时间的连续性和精确性。然而,在这次闰秒事件中,Linux系统出现了一些问题,引起了广泛的关注和讨论。

因为计算机时钟是基于UTC进行计算的,而地球自转的速度却不是完全稳定的,所以UTC时间与地球自转时间之间存在微小的差异。为了解决这个问题,国际地球自转与参照系统服务(IERS)每隔一段时间就会宣布插入一次闰秒,使UTC时间与地球自转时间保持一致。然而,由于在计算机系统中,闰秒是突然插入的,这导致了一些问题。

在2023年的闰秒事件中,Linux系统出现了两种不同的问题。一些Linux操作系统的内核会在插入闰秒时崩溃。一些应用程序也会出现问题,例如Java虚拟机和NTP(网络时间协议)服务。

对于之一个问题,造成它的原因是内核使用的定时器没有考虑到闰秒的问题,导致计时器与实际时间之间的差异变得太大,从而导致系统崩溃。为了解决这个问题,Linux内核的开发者们在闰秒事件后进行了一些调整,添加了更多的代码来处理闰秒。

对于第二个问题,其中一个主要原因是应用程序使用的时间源与内核不同。例如,Java虚拟机使用的是自己的时间源,而不是内核提供的时间源。这种情况下,当内核插入闰秒时,Java虚拟机不会意识到,导致时间不同步,进而导致应用程序出现各种奇怪的问题。类似的情况也发生在其他应用程序中。

针对这些问题,解决的方案并不容易。除了在Linux内核中添加更多代码,还需要对应用程序的时间源进行改进,以确保它们与内核一致。此外,因为闰秒事件是不可预测的,所以任何解决方案都必须具有高度的可靠性和鲁棒性。

尽管这些问题影响了Linux系统的一些方面,但是Linux的用户和开发者们积极地应对了这些问题。他们在闰秒事件后快速地寻找到问题的根源,并且迅速采取了一系列的措施来解决这些问题。因此,尽管有一些受到了影响的系统,整个事件并没有造成很大的灾难,也没有导致任何严重的后果。

综上所述,2023年的闰秒事件对Linux操作系统造成了一些冲击,但这也提醒我们更深入地思考时间的处理方式。Linux的用户和开发者们一直在努力改进这些问题,并且相信在将来的某个时候,这些问题都将得到完全的解决。

相关问题拓展阅读:

服务器宕机【宕机】

位于美国加州中部岩手宏的萨克拉门托(Sacramento)有三个身份:1850年代的淘金人口集散地、如今的加州州府和Twitter的数据中心。   7月26日上午8点20分,这个数据中心停止了工作。当你输入Twitter网址时,你会看到页面显示“Twitter目前因某些原因宕机,预计稍后恢复”的提示。这种状况持续了两个多小时,直到10点25分,Twitter才恢复正常。部分用户怀疑这和7月27日开幕的伦敦奥运会有关。

  尽管Twitter的运营团队通过后台的流量图看到了即将到来的奥运会热潮对各项指标的拉升—这种可预期的、能带来大流量的事件,Twitter一般都会提前做准备,然而意外还是发生了。

  在Twitter的预案里,如果这里发生了洪水、地震或者其他任何有可能导致服务器停止工作的问题,距离萨克拉门托965公里的另一个数据中心就会开始工作,它位于托管服务商Raging Wire旗下的一处建薯歼筑内,当然,情况也可能相反:Raging Wire这边出了问题,萨克拉门托开始工作。

  无论哪一种情况,Twitter希望保证的是用户的不间断使用体验,即便是远在大洋彼岸的用户,也可以正常地把自己的消息Tweet出去,而不会感受到服务中断。

  对于互联网公司而言,在线就是生命。Facebook早期迅速积累用户并不是由于它来自哈佛大学的好名声,而是它几乎从不宕机。这与当时强劲的竞争对手MySpace形成了鲜明对 照。

  但在7月26日这一天,Twitter两个数据中心同时发生故障,全球用户的Twitter服务中止。Twitter提供的解释是由于“基础设施元件中的级联式漏洞”,但没有公布更详细的信息。在Twitter的成长史上几乎每年都会有多次重大粗册宕机事故,宕机时网站就会显示出一幅有趣的图片:几只小鸟用线艰难地拉起一头搁浅的鲸鱼。

  这是Twitter在两个月之内的第二次重大宕机故障。此前一次是6月21日,Twitter停止服务将近两个多小时。

  Twitter负责工程技术的副总裁拉瓦德(Mazen Rawashdeh)事后解释说,Twitter在数据中心有两套能互相备份的数据系统同时出现了故障,这是基础设施上的“巧合事件”。通常情况下,如果一个系统出现故障,那么另一个将被紧急启用。而两套系统同时出现问题则比较少见,为避免类似故障重演,Twitter称计划对基础设施大幅投资。

  数据中心问题一直困扰着Twitter。截至3月,Twitter已有1.4亿活跃用户,每天会发出3.4亿条Tweet。随着用户量和信息读写量的增长,Twitter迫切需要一个能自我完全掌控的数据中心。

  Twitter早期租用第三方的数据服务,之后计划转向租用位于犹他州盐湖城的定制化数据中心,然而在去年该数据中心却出现了漏雨、电力不足等问题,于是Twitter不得不改变其计划,另谋他处。

  在同一天,悲催的不仅仅是Twitter。谷歌的即时通讯服务Gtalk也在早上6点40分发生故障,并迟迟没有被修复。有用户报告,微软旗下面对企业客户的云服务工具Windows Azure在西欧地区也发生了宕机问题。

  在宕机这段时间内,Gtalk用户发现虽然能够登录,但无法像以往一样正常发送信息以及进行语音、视频聊天。他们持续接到谷歌通过网页更新的问题修复状态通知,时间单位大约为半小时,而这一状态持续了近5个小时,算是谷歌史上罕见的长时间故障。习惯线上沟通的用户们不得不转向其他工具,有人说,接连两起宕机事件让他们有一种“全球停电”的感觉。

  谷歌的数据中心分布全球且多达20多个,目前无法得知是哪一块数据中心发生了故障以致Gtalk瘫痪,谷歌至今也未解释具体原 因。

  世界正在变成一个由数据洪流组成的存在,而整个世界也因几个重要信息节点而相互连接在一起。但即使是像谷歌这样著名的互联网公司也无法保证自己所有的服务全年都不出问题。

  据谷歌称,其更受欢迎的服务Gmail电子邮件服务2023年全年宕机时间为7分钟,这已经是业内最短时间。根据Radicati Group的数据,电子邮件系统平均宕机时间为每月3.8小时。对比起来,Gmail可谓优秀。

  一般造成系统不稳定甚至宕机的原因是多样的,开发安卓手机管理工具豌豆荚的豌豆实验室技术总监高磊对《之一财经周刊》介绍,在用户使用网站服务时,从用户输入信息,网络传送信息给网站服务器,网站服务器按照程序对用户要求进行处理,将结果返还用户,整个过程中其中一个环节出现问题就会导致网站的服务受到影响,甚至发生宕机而不可用。

  引发问题的潜在因素多种多样,包括网站自身程序、服务器的操作系统、硬件设备、机房与网络运营商等基础设施。

  如果网站自身程序有Bug,可能会导致使用变慢,或部分功能失效;服务器的操作系统也会出现漏洞,比如装有Linux部分版本的服务器就在本月因为闰秒问题而宕机;服务器硬件本身损坏,比如硬盘或内存都存在一定物理故障的机率。

  而在基础设施上,机房停电或进水、遭到雷击等也会造成设备停止运行。最基础的问题是过热,因此大型数据中心旁边一般都有冷却装置。

  6月底,美国一场风暴袭击了弗吉尼亚北部,大面积电力供应中断。而恰巧亚马逊在这里安置了US-East-1数据中心,因为停电,整个数据中心瘫痪。

  亚马逊是业界领先的云服务提供商,其提供给网站以数据服务的云服务Amazon Web Services也因此一度中断服务。之后连锁反应便产生,使用其服务的Instagram、Pinterest、Quora、Netflix等知名网站也停止了服务,进而影响到各自的生态系统。

  为避免风险,一些网络公司选择不把鸡蛋放在一个篮子里,设置多个数据中心,或者在使用云服务时同时选择多家供应商,当然,这也会增加成本。

  据新浪微博技术总监杨卫华对《之一财经周刊》介绍,是否能稳定登录,响应的速度怎样,都会对用户的体验造成直接影响。新浪微博采用了分布式的架构,这意味着它没有把所有的服务器都放在新浪所在的北京,而是在国内多个主要城市都设置了数据中心,在突发事件发生后的流量处理和响应速度等各方面来保证用户体验。

  你在宕机时体验到多少焦虑,稳定对于互联网公司就有多重要。

  当越来越多的人被接入同一个网络─比如被称为“世界的脉搏”的Twitter,数据中心瘫痪的风险等级也相应增加。这些数据就存储在像加州萨克拉门托的大房子里,一旦宕机,空白也从这里开始。

linux下怎样更新文件夹下所有文件的时间戳

touch命里修改

touch -t.50 *

-t time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制猜凳数:

  [[CC]YY]MMDDhhmm[.SS]

  这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某唤兆散世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在之内.MM为月数,DD为天将把年数CCYY限定在之内.MM为月数,DD为天数,和氏hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。

LINUX下怎样更新文件夹下所有文件的时间戳

touch一下袭碰即可拍卜谈

例弊扮如:find . -type f |xargs touch

像WINDOWS查看禅液文件夹属性查看文件做祥夹所文件及级文件夹所占用系统空间少

命令行式

本初级使用者便请给完整命令谢谢贺胡物

比判余如那个目录轮冲蠢的路径腊陪是A

则可以用 touch A/* ,更新时间戳

可以用stat A/* 查看 文件的时间戳

touch命里修改

touch

-t

.50

*

-t

time

使用指定的时间值

time

作为指定文件相应时间戳记的新值.此处的

time规定为如下形式的十进制数:

  [[CC]YY]MMDDhhmm[.SS]

 衫渣 这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch

将把年数CCYY限定在之内.MM为月数,DD为天将把年数CCYY限定在之内.MM为月数,DD为天数,hh

为小时数(几点),mm为分钟数,SS为秒数.此处秒的设旁源定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时

间.由于系统的限制运塌态,早于1970年1月1日的时间是错误的。

关于2023年闰秒 linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 回顾2023年:Linux操作系统遭遇闰秒问题 (2023年闰秒 linux)