「@隋不扰, 救命!系统突然崩溃了!!」
「我们简单排查了一下发现应该是那段Samsara代码的问题,求救求救求救!」
「怎么突然崩了?不是周一刚重启过!?」
「@隋不扰,救救孩子!手游全都炸服啦!我私信爆炸了!!」
「@隋不扰, 连得上V/P/N吗?就用你自己的账号和密码,珺总已经特批了, 权限都开了。」
隋不扰端起汽水不紧不慢地喝了一口, 刻意等了一分钟才回复:「稍等,我在看。」
她早上检查那段日志的时候就发现了,所谓的每周一重启就能够维持住系统的想法是完全错误的。
假设这一段Samsara的初始值是0,会导致系统崩坏的上限是10, 那么每一次在代码跑到一定阶段的时候重启,代码不会回到初始值0, 而是变成0.1、或者0.01,总之不是完全归零。
而重启时的值越大,重启后的初始值就越大。
所幸Memo每周重启系统的临界值在差不多5至6左右,因此初始值有很长一段时间可以一点点接近阈值。
Memo互动是新公司, 但既然Samsara的代码会出现, 就代表这个系统早在隋不扰高二的时候就建成了。
这个定时炸弹迟早会爆炸,算是隋不扰命好, 它恰好在她需要的时候爆炸了。
不过……就算今天不会「爆炸」, 隋不扰也会用点手段人为逼近阈值而已。
毕竟在所有资源都集中在抢修系统的时候, 其余部分的警报阈值便会临时拔高许多或是干脆混在报错里被忽略, 这是最佳的掩护。
临时拉的群聊里弹出一个语音通话,隋不扰接起后不过几秒,就陆陆续续有七八人也一同接起。
“喂、喂?听得到吗?”
“隋副总,V/P/N连上了么?您能看到日志吗?”
“报错堆栈完全刷屏了我的妈呀,我都以为我电脑中病毒了。”
“备份节点呢?谁能切过去?我完全卡住了……”
在众人七嘴八舌的一顿无措询问过后, 隋不扰终于找到一个短暂的空档:“别急,一个一个说。”
“V/P/N我已经连上了,看到报错先不用急,我们也用不上备份节点。”隋不扰一一回答了之前混在一起的问题,她平静的语气也成功将群里其余人焦躁的心情平复了下来。
群里恢复了安静,大家乖乖地等着隋不扰布置任务。
尽管记人一直是隋不扰最头疼的事情,可这一次她做好了万全的准备,在之前就已经把群里每一个头像对应的名字写在便签本上,贴在旁边。
好记性不如烂笔头。
她瞥了一眼自家电脑上正顺畅运行的爬虫程序,爬虫伸出属于它的无数根触角,穿过V/P/N带来的权限,飞快地在系统里检索隋不扰事先设置好的关键词和符合条件的文件。
可疑的审批流、加密通讯记录、已被标记为删除但暂时还未被完全覆盖的日志……
隋不扰收回目光,语气沉稳、条理清晰。
“听我说,我刚才简单查看了一下错误日志,问题并不是常规的内存溢出,而是不可控的状态积累最终导致系统资源耗尽,你们的重启只是清空了表面,还有一部分顽固的历史状态堆积一直没有被发现。”
她一边说着,一边用余光注意着自己电脑上飞速筛选的文件。
眼尖瞥见一条有关特种建材采购的审批闪过去却没有被程序捕捉,她连忙人工拦截下了那一份文件纳入下载列表。
“双妶(哥特组长),先停止所有非核心业务。”
“收到。”
“薄里,输入我发在群里的第二个命令,手动将Samsara的进程处理优先级降到最低——可能需要你盯一下,给我们预警,这个命令理论上可以维持半小时休眠,但我怕Samsara的不可预测特性导致提前结束。”
“好。”
薄里的速度很快,笔记本电脑上的报错刷屏在瞬间被掐断,那一刻仿佛在一段长久的警报声后突然将所有声音全部都清空。
“现在。”隋不扰先瞥了一眼自家电脑上平稳运行的爬虫程序,再看向贴在电脑旁的标签纸,她就是直接按照修复步骤的顺序记的每一个擅长的人。
“甲,拉取过去一个月里所有周一重启前后的系统核心转储文件。”
“OK。”
“乙和丙,重点监控服务器物理内存和虚拟内存的占用曲线,重点关注异常波动的进程。”
“好。”
“丁,检查所有与Samsara模块有交互的外部API状态,是否有超时或是异常返回值。”
“戊……”
隋不扰有条不紊地将一个个任务颁布下去,其实相比起抢修系统,把每个人的名字正确地叫出来是更困难的事。
她一边按照便签纸上的名字念,一边都忍不住捏了捏手心因为紧张而分泌出的冷汗。
隋不扰一心两用,在笔记本上飞快编写一个简易的补丁,同时,她自己电脑上的爬虫也抓住一个关键性进展。
那是一封标记了已删除却仍在备份区留存的的邮件,邮件的发件人后缀赫然是「RUIBing」,蕤宾的公司后缀,收件人是玉瑾,收件时间正是在蕤宾工地事故的前一天。
玉瑾应该是删除了,但为了保存把柄而将这份邮件备份到了本地,但由于系统自带的本地文件云同步,所以在系统的线上还留下了这个云同步来的邮件。
“邵斐(新中式组长),你带着剩下的人写一个临时的内存清理脚本,提高垃圾回收器的频率,不用太复杂,就用你们最顺手的语言写,频率设置成一分钟一次——不,还是三十秒一次,写完直接在生产环境里跑。”
“直接在生产环境里跑?”邵斐下意识地惊呼。
“没时间调试了。”隋不扰说,她的语气不容置疑,“邵斐,故障已经发生了,我相信你们的能力,你呢,相信自己吗?”
她本来是打算让薄里做这件事的,毕竟薄里刚用「隋总」向自己卖过好,自己也该做出倚重对方的表现。
但是在写名字的时候,隋不扰改变了主意。
三个组长里,双妶称呼顾珺意为顾总,薄里称呼自己为隋总,而邵斐,她刚刚在群里告诉隋不扰,顾珺意给她开了V/P/N的权限时,叫的是「珺总」。
隋不扰记得,即使在办公室里键盘声最响的那段时间,也有一个角落里几乎没什么声音。
后来她特意往那个方向看了一眼,看到的就是邵斐的位置。
在顾家的这短暂的两周里,隋不扰已然能够清晰分辨哪些人是顾珺意自己手底下的心腹,最方便的方法就是看称呼顾珺意是「珺总」还是「顾总」。
叫珺总的是为了与顾观澜这个大顾总区分开,而叫顾总的,那便是心里只有这一个顾总的意思。
邵斐是中立的,至少不是完全偏向顾珺意的,或许是可以争取的对象。
隋不扰想要拉拢她。
邵斐:“……”
她没有沉默几秒就做出了决定:“好。”
隋不扰的所有指令都在以极高的效率有序进行,而在邵斐说话的同一时间,爬虫程序又捕捉到了一个加密的
压缩包。
她短暂抽身,把压缩包扔进老早就写好的解密程序里。
她需要更多的时间破解它,这个压缩包的加密等级很高,而且只有连着主系统的时候才可以破译,因为解密密钥需要实时从公司的密钥服务器验证。
她自己做的破译程序保守估计也要半个小时,而薄里那边留下的时间最宽裕的情况下,也已经只剩二十分钟。
解密进度条在缓慢但是坚定地攀升。
群聊语音里只剩下工程师们此起彼伏报告进度和确认指令的声音,邵斐的团队都关闭了麦克风,以免编程的键盘声影响到别人。
“隋副总。”薄里的声音响起,“进程里开始反复出现Samsara的数据结构了,估计要比预估的时间提前。”
“收到。”隋不扰的声音并没有因此发生任何变化,只是手指敲击键盘的速度开始变快,“每两分钟汇报一次。”
提前,那就没有二十分钟了。
她等不起了。
她得先写出一个简易的补丁,让这个补丁能够至少在系统里形成一个初步的防护层,好为她争取更多的时间。
“邵斐。”隋不扰再次开口,“写好了吗?”
手机屏幕上邵斐头像右下角的静音标识很快消失,女人的声音从电话另一头传来:“已经部署下去了,目前一切正常。”
Memo的工程师都是顶级院校出来的高材生,就算平时工作只做前端或是后端,另一方面的知识也总归在脑子里不会忘记,拼尽全力写一段基础内存清洗代码属实是小菜一碟。
——就像隋不扰现在这样,尽管她本职工作一直是做用户看得见的前端,但系统内核的东西她也会。
“很好。双妶,非核心业务都强制暂停了吗?”
“已确认全部停止。”
“甲,转储文件比对有结果了吗?”
“正在最后校验,马上。”
“乙、丙,异常进程有几个?”
“四个,正在分析日志,我这里刚弄好一个。”是乙的声音。
随后便是丙:“我也快了。”
“丁——”
指令一条条下发,回应一句句传回,系统从崩溃的边缘一点点地拉回。
隋不扰电脑上的简易补丁也来到尾声,她看了一眼时间,只剩十分钟了。而那个加密文件的破解进度才刚刚来到30%。
薄里的声音拔高:“代码里开始频繁出现Samsara的数据结构了!”
“邵斐。”隋不扰闭了闭眼,用手掌根部揉了揉酸胀的眼眶,“我现在需要你手动介入内核态,你能做得到吗?”
手动介入内核态,一不小心就会像多米诺骨牌一样,错碰一个,整个系统就会直接蓝屏,无可挽回。
邵斐的回应同样坚定:“能,给我权限指令。”
“发过去了。”隋不扰说,她微微后仰了一下,黑底白字的代码与长时间的注意力集中让她的眼前有点发花,“双妶,配合邵斐,实时监控系统负载,一旦过载就强制降频,优先保证你们的核心业务不会崩。”
“好。”
时间在一分一秒地过去,有任务的工程师各自都完成了自己的任务,将结果尽可能简洁明了地发到了群聊里。
系统每周一重启导致的初始值增长是0.5%,而这段代码每运行一天所增加的数据量是前一天的一点五倍。
在争取两天的时间以前,隋不扰需要先让系统喘口气,也是让自己喘口气,更是能有更多时间从系统获取密钥。
在心里做了一个简单的加减乘除,她就算出了自己要的结果。
快了,马上,还有五行就能收尾了。
40%。
太慢了。
破译的速度还是太慢了。
隋不扰能感受到自己的手指因为过度运动而开始酸痛,此前工作累积的腱鞘炎偏偏在这个时候爆发了,细微的钝痛从大拇指的根部朝外蔓延,这种酸胀拖累了她打字的速度,但她还不能停下。
四行。
三行。
两行……
写完了!
就在Samsara的休眠状态即将被彻底解除、即将再次引发混乱的前一秒,隋不扰上传的简易补丁1.0成功运行。
系统日志中疯狂刷新的错误瞬间停止,所有飘红的监控指标以肉眼可见的速度回落,最终稳定在黄色警告区间。
系统暂时从全面崩溃的边缘被拉回了勉强算是安全的地带,隋不扰终于得以短暂地喘息。
47%。
下一个补丁持续的时间至少需要两天,才能让隋不扰足够写完最终的补丁。
耳机里的工程师们没有发出如释重负的叹息,寂静里弥漫着一种毋须宣之于口的凝重。
所有人都知道,第二轮倒计时刚刚开始。
作者有话说:为了减少姓名的记忆,都用甲乙丙丁代替了,后续也会这样,甲乙丙丁或者直接用外貌/穿衣特征称呼。
诸如系统爬虫获取文件、获取密钥有进度条、手动介入内核态等均为艺术化处理,好孩子不要学。
明天上夹,夜里十一点半更新哦,不要跑空啦[亲亲]